Docker 优雅停机
主要命令:
docker命令stop不会像springboot发送SIGTERM信号,导致只是关闭了容器。
通过运行exec命令,它将代替shell进程把SIGTERM传播到spring boot:
Dockerfile 最后一行配置:
ENTRYPOINT [ "sh", "-c", "exec java -jar /app.jar"]
jenkins 部署脚本
docker pull container-name (拉取新镜像)
docker stop container-name (停止部署的镜像 默认等待10s 10s后没有停止则直接kill)
或 docker stop -t 30 container-name (自定义等待30s)
docker rm -f container-name (强制删除容器镜像)
docker run -d --name container-name registry.api.xxx.com/bop-k8s/container-name :tag (启动新镜像)