将启动脚本添加到dockerfile
我已经使用openjdk构build了Docker镜像。
# config Dockerfile FROM openjdk:8 COPY . /usr/src/myapp WORKDIR /usr/src/myapp # build image docker build -t shantanuo/dbt .
它正在按照预期使用这个命令…
docker run -p 8081:8080 -it shantanuo/dbt
一旦我login,我必须运行这个命令…
sh bin/startup.sh
我的问题:是否有可能将启动命令添加到dockerfile? 我试图在我的dockerfile中添加这一行。
CMD ["sh", "bin/startup.sh"]
但是在构build映像之后,我不能使用-d参数来启动容器。
您可以使用入口点来运行启动脚本。 在入口点你可以指定你的自定义脚本,然后运行catlina.sh。 例:
ENTRYPOINT "bin/startup.sh && catalina.sh run"
这将运行你的启动脚本,然后启动你的tomcat服务器。 它不会退出容器。
docker集装箱必须有一个专门的任务。 这个任务/启动脚本不会终止是很重要的。 当它完成时,任务完成,docker的一切都完成了。
仅使用JDK启动容器是没有意义的。 你必须把你的应用程序。
我认为这将有助于当你发布你想要做的事情。
Docker引用总是一个很好的地方: https : //docs.docker.com/engine/reference/builder/#entrypoint