从docker返回 – 在jenkins撰写
我有复制Jboss的基础图像。 Jboss以脚本开始,大约需要2分钟。
在我的Dockerfile
我创build了一个命令。
CMD start_deploy.sh && tail -F server.log
我做了一个尾巴,以保持容器活着,否则当脚本完成和容器停止时,“ docker-compose up
”退出。
问题是,当我通过Jenkins进行“ docker-compose up
”时,由于尾部的构build没有完成,我无法启动下一个构build。
如果我做了“ docker-compose up -d
”,那么下一次开发太早,开始对尚未开始的容器执行testing。
有没有办法从docker返回 – 当服务器已经完全启动了。
无论何时使用链接命令或pipe道命令( |
),更容易:
-
更容易将它们包装在脚本中,并在您的
CMD
指令中使用该脚本:CMD myscript
-
或者用
sh -c
命令包装它们:sh -c 'start_deploy.sh && tail -F server.log'
(但最后一个取决于图像的ENTRYPOINT
点。
一个默认的ENTRYPOINT
应该允许这个CMD
工作)