gpt4 book ai didi

docker - Docker:docker-compose.yml中用于自动重新部署新镜像的选项

转载 作者:行者123 更新时间:2023-12-02 21:17:20 29 4
gpt4 key购买 nike

docker-compose.yml

version: "3"
services:
daggr:
image: "docker.pvt.com/test/daggr:stable"
hostname: '{{.Node.Hostname}}'
deploy:
mode: global
resources:
limits:
cpus: "2"
memory: 50M
restart_policy:
condition: on-failure
ports:
- "4000:80"
networks:
- webnet
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
redis:
image: redis
networks:
- webnet
networks:
webnet:

现在,我正在使用以下命令部署Docker容器:
docker stack deploy -c docker-compose.yml daggrstack

有没有办法在docker-compose.yml文件中指定是否更新了图像 docker.pvt.com/test/daggr:stable(即docker build,docker tag和docker push:stable),那么正在运行的容器会自动与更新后的图像一起重新部署?

因此,我不必在每次推送新的Docker镜像时都重新运行 docker stack deploy

最佳答案

Is there way to specify in docker-compose.yml file that if the image, docker.pvt.com/test/daggr:stable, is updated (ie. docker build, docker tag, and docker push :stable), then the running containers are automatically re-deployed with the updated image?



答案是否定的。当新镜像可用时,Docker swarm不会自动更新服务。这应该作为连续部署系统的一部分来处理。

但是,Docker确实使更新已运行的服务的镜像变得容易。

Apply rolling updates to a service中所述,您可以通过以下方式更新服务的镜像:
docker service update --image docker.pvt.com/test/daggr:stable daggr

关于docker - Docker:docker-compose.yml中用于自动重新部署新镜像的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49690129/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com