chúng tôi đang sử dụng google cloud run và gắn nhật ký mã của chúng tôi vào kho tệp bằng NFS, vấn đề của tôi là nếu nhật ký mã tomcat bị xóa vô tình thì nhật ký từ kho tệp sẽ không được tạo lại tự động.
Dockerfile của tôi
TỪ tomcat:8.5.77-jre8-openjdk-slim-buster
CHẠY apt-get update -y && apt-get install -y
nfs-chung
cơ sở mạng
&& apt-làm sạch
CHẠY mkdir /usr/local/tomcat/webapps/router
CỘNG . /usr/local/tomcat/webapps/router
Đặt thư mục mount dự phòng
ENV MNT_DIR /usr/local/tomcat/webapps/router/logs
WORKDIR /usr/local/tomcat/webapps/router
CHẠY chmod +x /usr/local/tomcat/webapps/router/run.sh
Sử dụng tini để quản lý các quy trình zombie và chuyển tiếp tín hiệu ENV TINI_VERSION v0.19.0
CỘNG https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini
/tini CHẠY chmod +x /tini ENTRYPOINT ["/tini", "--"]
Truyền tập lệnh khởi động làm đối số cho tini
CMD ["/usr/local/tomcat/webapps/router/run.sh"]
CỔNG ENV=8080
TIẾP XÚC 8080 TIẾP XÚC 2049 TIẾP XÚC 111
Tập tin kịch bản của tôi
#!/bin/bash
đặt -eo đường ống thất bại
Tạo thư mục gắn kết hoặc điểm gắn kết cho dịch vụ vùng chứa.
chmod -R 777/usr/local/tomcat/webapps/router/logs
mount --verbose -t nfs -o vers=3 -o nolock 10.67.157.122:/filestore_vol1/test/testing/logss
/usr/local/tomcat/webapps/router/logs
echo "Gắn hoàn tất."
hiển thị quá trình gắn kết
showmount -e 10.67.157.x
kiểm tra thư mục nào đã được gắn vào thư mục nào của kho lưu trữ.
df -h
tạo một tệp tại thư mục gắn kết hoặc điểm gắn kết sẽ được hiển thị tại
chạm /$MNT_DIR/dragon.js
chmod 777 /$MNT_DIR/dragon.js
chạm /usr/local/tomcat/webapps/router/logs/newdragon.js
/usr/local/tomcat/bin/catalina.sh chạy
Thoát ngay lập tức khi một trong các quá trình nền kết thúc.
đợi -n