본문 바로가기
DevOps/Docker

[Docker] : 서비스 디스커버리

by 오주현 2022. 3. 6.
반응형

같은 컨테이너를 여러 개 만들어 사용할 때 문제가 되는 부분은 컨테이너 생성의 발견(Service Discovery)와 없어진 컨테이너 감지인데 스웜 모드는 서비스 발견 기능을 자체적으로 지원한다.

 

docker network create -d overlay discovery

서비스가 사용할 오버레이 네트워크를 생성한다.

 

docker service create --name server \\
--replicas 2 \\
--network discovery \\
alicek106/book:hostname
docker service create --name client \\
--network discovery \\
alicek106/book:curl \\
ping docker.com

서비스 두 개를 생성한다. client 서비스는 server 서비스에 http 요청을 보낼 컨테이너를 생성한다.

 

docker service ps client

컨테이너가 어디에 있는지 알아야 들어갈 수 있다. 컨테이너 ID를 확인하고

 

docker exec -it 컨테이너ID bash

를 입력해서 컨테이너 내부로 들어간다.

 

curl -s server | grep Hello

curl 명령어를 여러 번 보내면 매 번 다른 컨테이너에 접근하는 것을 확인할 수 있다.

 

docker service scale server=3

server 서비스의 컨테이너 레플리카를 3개로 늘려본다.

 

curl -s server | grep Hello

다시 curl명령어를 실행해 보면 새로 생성된 server 서비스의 컨테이너에 접근할 수 있다는 것을 확인할 수 있다.

 

 


📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.

반응형

댓글