컨테이너를 순차적으로 업데이트 한다.

<aside> 💡 --update-delay <INTERVAL>

--update-parallelism <NUMBER>

Rolling update

  1. root@manager:~# docker service create --replicas 4 --name web --update-delay 10s nginx:1.1

  2. root@manager:~# docker service inspect web | grep Image

    root@manager:~# docker service inspect web | grep Image
    "**Image**": "nginx:1.11@sha256:e6693c20186f837fc393390135d8a598a96a833917917789d63766cab6c59582",
    

    replica가 nginx:1.1 image로 생성되었는지 확인한다.

  3. root@manager:~# docker service update --image nginx:1.23 web

    root@manager:~# docker service update --image nginx:1.23 web
    web
    overall progress: 4 out of 4 tasks 
    1/4: running   
    2/4: running   
    3/4: running   
    4/4: running   
    verify: Service converged
    
  4. root@manager:~# docker service inspect --pretty web

  5. root@manager:~# docker service rollback web root@manager:~# docker service inspect --pretty web

Blue-green

  1. root@manager:~# docker service create --replicas 4 --name web --update-delay 10s --update-parallelism 2 nginx:1.11

  2. root@manager:~# docker service update --image nginx:1.23 web

    root@manager:~# docker service update --image nginx:1.23 web
    web
    overall progress: 4 out of 4 tasks 
    1/4: running   
    2/4: running   
    3/4: running   
    4/4: running   
    verify: Service converged
    

    해보면 2개씩 업데이트됨