dockerfile来立即运行java退出
我有以下docker文件来运行我的Java应用程序
FROM gidikern/rhel-oracle-jre RUN mkdir /application WORKDIR /application CMD "java -Dspring.profiles.active=sprofileName -jar my.war --spring.config.location=./application.properties > app.log > 2>&1"
我正在使用docker-compose运行:
backend_app: restart: always image: my-app-runner:latest ports: - "8080:8080" volumes: - ./app/my.war:/application/my.war:Z - ./app/application.properties:/application/application.properties:Z - /srv/docker/backend_app/logs:/application/my.log:Z tty: true
然而,当我开始我得到我的应用程序退出代码0不断。
我找不到什么错误。
问题实际上是用我的基础镜像gidikern / rhel-oracle-jre
我testing过,甚至像ls这样的基本命令都不起作用。
现在切换到openjdk,这很好。
很可能在你的应用程序中有一个错误。 为了debugging,我build议你在shell中运行容器并手动执行java命令来查看发生了什么。
换一种说法:
docker run -it --name app-debug my-app-runner:latest /bin/bash java -Dspring.profiles.active=sprofileName -jar my.war --spring.config.location=./application.properties