반응형
docker swarm 초기화
docker swarm init
docker swarm 설정 해제
docker swarm leave --force
docker swarm 클러스터 합류하기
docker swarm 초기화시 로그로 출력된 토큰 정보를 아래에 작성
docker swarm join --token <TOKEN> <MANAGER-IP>
docker swarm node 목록 조회
docker node ls
service 생성하기
docker service create --replicas 3 -p 8080:80 --name web nginx
service 종료하기
docker service rm {service_name}
service 목록 조회하기
docker service ls
service 서비스 확인하기
docker service ps {service_name}
service 상세 정보 확인하기
docker service inspect {service_name}
service 로그 출력하기
docker service logs -f {service_name}
docker-compose 파일로 service 실행하기
docker-compose.yml
version: "3.8"
services:
nginx:
image: nginx:1.17.9
environment:
TZ: "Asia/Seoul"
ports:
- "8080:80"
deploy:
replicas: 3
실행하기
docker stack deploy -c docker-compose.yml demo_web
Rolling Update
Rolling Update 스펙 적용하여 서비스 생성하기
- --update-delay : 각 태스크가 업데이트되는 시간 간격
- --update-parallelism : 한 번에 업데이트 시킬 태스크의 수. 0이면 모든 태스크 동시 업데이트 (default: 1)
- --update-failure-action : 업데이트 실패시 대처 방안 설정
- pause : 업데이트 작업 중단(default)
- continue : 실패한 태스크는 넘어가고 나머지 업데이트 작업 진행
- rollback : 업데이트 작업 중단 후 이전 버전으로 롤백
docker service create --name redis \
--replicas 5 \
--update-delay 20s \
--update-parallelism 2 \
--update-failure-action rollback \
--rollback-delay 10s \
--rollback-parallelism 1 \
--rollback-failure-action pause \
redis:7.0.3
Rolling Update 스펙 확인하기
$ docker service inspect redis
...
"UpdateConfig": {
"Parallelism": 2,
"Delay": 20000000000,
"FailureAction": "rollback",
"Monitor": 5000000000,
"MaxFailureRatio": 0,
"Order": "stop-first"
},
"RollbackConfig": {
"Parallelism": 1,
"Delay": 10000000000,
"FailureAction": "pause",
"Monitor": 5000000000,
"MaxFailureRatio": 0,
"Order": "stop-first"
},
...
Rolling Update 진행하기
redis:7.0.3 -> redis:7.0.4로 버전업
docker service update --image redis:7.0.4 redis
Rollback 진행하기
redis:7.0.4 -> redis:7.0.3로 롤백
docker service update --rollback redis
참고
반응형
'Development > Docker' 카테고리의 다른 글
[Docker] Network (0) | 2023.01.17 |
---|---|
[Docker] Docker Private Registry 사용하기 (0) | 2023.01.15 |
[Docker] Dockerfile 예시 (0) | 2020.12.28 |
[Docker] 주요 컨테이너 실행 명령어 (0) | 2019.05.22 |
[Docker] Dockerfile로 이미지 설치하기 (0) | 2019.05.19 |