docker tomcat 重新部署应用程序
docker tomcat re-deploy application
我在 jenkins docker 容器中有一个部署作业,用于在 docker tomcat 容器 运行 中的 port:8383 容器中部署应用程序容器端口 8080.
我可以成功部署应用程序并首次启动服务器。
但是,如果我想重新部署应用程序,部署作业会失败,因为端口 8383 已经分配。
我想检查 docker tomcat 容器是否已经 运行 ,如果它是 运行 那么我需要停止 tomcat 容器,部署应用程序并重新启动它。
如何使用 shell 脚本实现此目的?
首先,使用名称启动容器(使用 --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
之后,像以前一样使用新图像重新创建容器。
我在 jenkins docker 容器中有一个部署作业,用于在 docker tomcat 容器 运行 中的 port:8383 容器中部署应用程序容器端口 8080.
我可以成功部署应用程序并首次启动服务器。
但是,如果我想重新部署应用程序,部署作业会失败,因为端口 8383 已经分配。
我想检查 docker tomcat 容器是否已经 运行 ,如果它是 运行 那么我需要停止 tomcat 容器,部署应用程序并重新启动它。
如何使用 shell 脚本实现此目的?
首先,使用名称启动容器(使用 --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
之后,像以前一样使用新图像重新创建容器。