【发布时间】:2021-04-06 19:43:37
【问题描述】:
尝试使用 docker stack deploy、docker swarm 一个节点 localhost 环境设置零停机部署。
在构建映像demo:latest 后,使用命令docker stack deploy --compose-file docker-compose.yml demo 进行的第一次部署能够看到4 个副本正在运行,并且可以访问我本地机器上端口8080 上的nginx 默认主页。现在更新index.html,构建具有相同名称和标签的镜像,运行 docker stack deplopy 命令导致以下错误并且未反映更改。
删除部署并重新创建将起作用,但我正在尝试查看如何在不停机的情况下进行更新。请在这里帮忙。
错误
Updating service demo_demo (id: wh5jcgirsdw27k0v1u5wla0x8)
image demo:latest could not be accessed on a registry to record
its digest. Each node will access demo:latest independently,
possibly leading to different nodes running different
versions of the image.
Dockerfile
FROM nginx:1.19-alpine
ADD index.html /usr/share/nginx/html/
docker-compose.yml
version: "3.7"
services:
demo:
image: demo:latest
ports:
- "8080:80"
deploy:
replicas: 4
update_config:
parallelism: 2
order: start-first
failure_action: rollback
delay: 10s
rollback_config:
parallelism: 0
order: stop-first
【问题讨论】:
标签: docker docker-compose docker-swarm