思路一个docker容器每次只运行一个单独的项目,这样启动快,查看日志方便, 每次发布新的代码,停掉原来的容器,删掉该容器,down下新的代码,做一个新的镜像重新启动
1、使用jenkins将项目构建完后,使用ssh上传到某个服务器中保存(SSH Publishers send build artifacts over SSH )
通过ssh上传到 192.168.5.5中
2、重新发布
setup.sh 文件如下
# zysso项目启动参数 #!/bin/bash container_name=tomcat-zysso-9011 # 停掉旧的容器 docker stop $container_name # 删除旧的容器 docker rm $container_name # 删除旧的镜像(包含项目的) docker rmi zysso:latest # 利用Dockerfile重新构建新镜像(包含新项目的) docker build -t zysso:latest /product/zysso/ 在当前执行目录下有一个Dockerfile # 启动新的容器 docker run -d -p 9011:8080 -p 2011:22 --name $container_name --restart=always zysso:latest
Dockerfile文件
# zysso项目Dockerfile # 基础镜像 FROM registry.cn-hangzhou.aliyuncs.com/jc/ubuntu14.04_jdk1.7_tomcat7:latest # 作者 MAINTAINER "sh_ljhcj@163.com" 2017-1-20 # 下载war包到容器 RUN wget -P /usr/local/apache-tomcat-7.0.69/webapps http://192.168.5.5:88/test_internethospital_wenzhen/zysso/zysso.war # 容器对外开放8080端口和22端口 EXPOSE 8080 22 # 启动Tomcat服务 CMD ["/usr/local/apache-tomcat-7.0.69/bin/catalina.sh","run"]