我在jenkins停靠容器中有一个部署作业,用于在运行在jenkins容器端口8080内的端口:8383中的docker容器中部署应用程序。
我能够成功地部署应用程序并首次启动服务器。
但是,如果我想重新部署应用程序,部署作业将失败,因为端口8383已经分配。
我想检查docker容器是否已经在运行,如果它正在运行,那么我需要停止tomcat容器,部署应用程序并重新启动它。
如何使用shell脚本实现这一点?
发布于 2017-01-06 19:29:56
首先,使用名称(使用--name标志)启动容器。这将允许您在以后重新部署容器时轻松找到它:
docker run -d -it -p 8383:8080 --name your-application docker-tomcat使用这个名称,您可以检查容器是否已经存在,然后停止并删除它( shell脚本在我的头上,可能有更好的方法构建它):
[ $(docker ps -aq -f name=your-application | wc -l) -gt 0 ] && \
docker stop your-application && docker rm your-application之后,像以前一样用新的图像重新创建容器。
https://stackoverflow.com/questions/41512775
复制相似问题