728x90
Docker Swarm 클러스터에 서비스를 배포하는 방법
간단한 웹 애플리케이션을 배포하는 예제
1. Docker Swarm 초기화
docker swarm init
$ docker swarm init
Swarm initialized: current node (r5gzcy2g0swe61mkuz71do3cr) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-40ip16kv9qxhuz5pplde-64zbe5aqna0wm46mxo 192.168.100.201:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
2. 서비스를 정의하는 docker-compose.yml 파일 작성
vim docker-compose.yml
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
3. docker stack deploy 명령어 실행
docker stack deploy -c docker-compose.yml mywebapp
- -c 옵션은 사용할 docker-compose.yml 파일을 지정합니다.
- mywebapp은 배포한 서비스를 그룹화하는 스택의 이름입니다.
$ docker stack deploy -c docker-compose.yml mywebapp
Creating network mywebapp_default
Creating service mywebapp_web
728x90
4. 스택 확인
현재 배포된 스택을 확인할 수 있습니다.
docker stack ls
$ docker stack ls
NAME SERVICES
mywebapp 1
5. 스택에 속한 서비스 확인
스택에 속한 서비스들을 확인할 수 있습니다.
docker service ls
$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
rpcr3dxpvig9 mywebapp_web replicated 1/1 nginx:latest *:80->80/tcp
6. 웹 브라우저에서 확인
웹 브라우저를 열고 http://<Swarm_Manager_IP>로 접속하여 Nginx 웹 서버의 기본 페이지를 확인할 수 있습니다.
http://192.168.1000.201
7. 서비스 업데이트
서비스를 업데이트하려면 docker stack deploy 명령어를 다시 실행하면 됩니다. 예를 들어, 이미지를 업데이트하려면 docker-compose.yml 파일에서 이미지 버전을 변경하고 다시 docker stack deploy 명령어를 실행합니다.
이렇게 하면 Docker Swarm 클러스터에 간단한 서비스를 배포할 수 있습니다.
참고URL
- Docker Swarm Documentation : Deploy a stack to a swarm
- Docker Swarm Documentation : Deploy services to a swarm
728x90
'리눅스' 카테고리의 다른 글
도커 컴포즈 파일 버전(docker compose file versions) (0) | 2024.01.27 |
---|---|
Docker Swarm 클러스터에 서비스를 배포하고 업데이트하며 전역 스케일을 조절하는 방법 (0) | 2024.01.25 |
docker compose ls 명령어 (0) | 2024.01.24 |
Docker 데몬 소켓 연결 권한 거부 (0) | 2024.01.24 |
도커 컨테이너 재시작 정책 사용(docker restart policy) (0) | 2024.01.24 |