Обновление изображения в сервисе без простоев - PullRequest
0 голосов
/ 09 апреля 2019

Я использую сервис на Docker Swarm. Вот что я сделал для развертывания сервиса:

docker swarm init
docker stack deploy -c docker-compose.yml MyApplication

Содержимое docker-compose.yml:

version: "3"
services:
    web:
        image: myimage:1.0
        ports:
            - "9000:80"
            - "9001:443"
        deploy:
            replicas: 3
            resources:
                limits:
                    cpus: "0.5"
                    memory: 256M
                restart_policy:
                    condition: on-failure

Не будем говорить, что я обновляю приложение и создаю новый образ myimage:2.0. Как правильно развернуть новую версию образа в сервисе без простоев?

Ответы [ 2 ]

2 голосов
/ 21 апреля 2019

Способ достижения этого:

У меня есть несколько примеров на эту тему:


С этим вы можете просто запустить docker stack deploy... снова. Если в службе произошли изменения, она будет обновлена.

2 голосов
/ 09 апреля 2019

вы можете использовать команду docker service update --image, но она запустит новый контейнер с неявным масштабом 0 / 1.

Время простоя зависит от вашего приложения.

...