按照关于在 CMD 之前执行脚本的建议(我需要在重新启动容器之前清除临时目录以修复错误),我将 docker 文件从使用 CMD 修改为入口点,如下所示:
ENTRYPOINT ["/app/entrypoint.sh", "/usr/bin/java -Dlog4j.configurationFile=/app/resources/LINUX/${LOG4J_FILE} -Dpa.config=/app/resources/LINUX/${CONFIG_FILE} -jar /app/app.jar"]
并在 rm -rf 命令之后的入口点文件结尾:
exec "$@"
但是docker无法启动容器,它退出了,容器日志显示:
+ exec '/usr/bin/java -Dlog4j.configurationFile=/app/resources/LINUX/${LOG4J_FILE} -Dpa.config=/app/resources/LINUX/${CONFIG_FILE} -jar /app/app.jar'
/app/entrypoint.sh: line 7: /usr/bin/java -Dlog4j.configurationFile=/app/resources/LINUX/${LOG4J_FILE} -Dpa.config=/app/resources/LINUX/${CONFIG_FILE} -jar /app/app.jar: No such file or directory
- 这是什么意思?怎么了?