반응형
SMALL
voting app
Docker를 이용하여 투표서비스 인프라 구축하기
1. docker-compose.yml
수정
swarm/swarm-app-1
- manager 컨테이너
- 포트포워딩 설정 추가
5001:81
- 포트포워딩 설정 추가
2. voting_app.yml
추가
swarm/swarm-app-1/stack
- volume x 1 (
db-data:/var/lib/postgresql/data
) - networks x 2 (frontend, backend - overlay)
- services x 5 (voting-app, redis, db, worker, result-app)
- stack x 1 (my-vote-app)
2.1 포트포워딩
컨테이너의 포트는 이미지에 의해 이미 결정되어있었음
80
- voting-app
80:80
- result-app
81:80
2.2 네트워크 설정
networks:
frontend:
external: true
backend:
external: true
** 중요! **
worker 서비스는 frontend 네트워크를 사용하지만 backend 네트워크에 있는 db 서비스에 데이터를 전달해야 하기 때문에 worker 서비스는 frontend, backend 네트워크를 둘 다 사용해야 한다.
networks: - frontend - backend
2.3 볼륨 설정
db
서비스에 볼륨 설정 추가
volumes:
- db-data:/var/lib/postgresql/data
- 서비스 바깥 쪽에 볼륨 설정 추가
volumes:
db-data:
3. docker-compose.yml
실행
$ docker-compose up
4. 스웜 설정
- 매니저 접속
$ docker exec -it manager sh
매니저
$ docker swarm init
## join 토큰으로 work01~03 join 해주기
5. 네트워크 생성
매니저
$ docker network create --driver=overlay --attachable frontend
$ docker network create --driver=overlay --attachable backend
6. voting_app.yml
배포하기
매니저
$ docker stack deploy -c /stack/voting_app.yml my_vote_app
7. 서비스 확인
$ docker service ls
8. 웹브라우저 확인
localhost:8000
- voting-app
localhost:5001
- result-app
반응형
LIST
'Docker' 카테고리의 다른 글
[Docker] 도커 Visualizer 사용하는 방법 (0) | 2020.04.04 |
---|---|
[Docker] 스택(stack) 이용하기 (0) | 2020.04.03 |
[Docker] Swarm 서비스 실습 (서비스 관련 명령어) (0) | 2020.03.31 |
[Docker] Swarm / DinD 실습 - registry 컨테이너 (0) | 2020.03.30 |
[Docker] 스웜이란? (What is Docker Swarm?) / 도커 인 도커 (DinD) (0) | 2020.03.29 |