Docker 生产环境自动化部署的问题

2019-06-27 17:37:22 +08:00
 dunhanson

之前项目的修改很少,所以都是我用原始的手动部署方式

现在不想这么整了,感觉好累、好繁琐。。。

docker hub 已经改成自建的私库了,也准备用 jenkins 自动化部署

我现在的想法是这样的,不知道有没有问题?

那么有问题如何回滚?

7208 次点击
所在节点    程序员
42 条回复
fivesmallq
2019-06-28 14:35:41 +08:00
我们目前就是通过 jenkins 执行的脚本

```
def switchContainer(String server, String project) {
sh "ssh ${server} mkdir -p /apps/${project}"
sh "scp docker-compose.yml ${server}:/apps/${project}"
sh "scp .env ${server}:/apps/${project}"
sh "ssh ${server} docker network create --subnet=${env.docker_network_range} ${env.docker_network} || true"
sh "ssh ${server} docker-compose -f /apps/${project}/docker-compose.yml pull"
sh "ssh ${server} docker-compose -f /apps/${project}/docker-compose.yml down --remove-orphans -v"
sh "ssh ${server} docker-compose -f /apps/${project}/docker-compose.yml up -d"
sh "ssh ${server} docker image prune -f"
}
```
figael
2019-06-29 17:08:50 +08:00
1 )如果可以断线更新,直接用 docker-compose。
2 )如果不能断线更新,在服务前加一层反向代理,如 nginx。在新版本实例就绪前,旧版本实例还可以继续对外服务。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/578067

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX