DevOps./Docker

[Docker] Docker를 활용한 MSA 애플리케이션 배포 구성

PI.314 2022. 1. 28. 22:18

다양한 방법이 있지만, Docker + Local 구성으로 배포하려고 한다.

차후에 Kubernetes를 학습한 뒤, Docker + Kubernetess + AWS EC2 구성으로 배포해보자.

 

각 서비스는 개별적인 IP Address를 할당 받아 서로 통신 한다. 

IP 할당을 순차적으로 받기 때문에 다른 환경에서는 다른 IP로 할당 받을 수 있음.

-> 다른 서비스들이 변경된 IP에 대해서 재설정해야함.

-> 하지만, 같은 네트워크를 사용한다면 container name 으로 특정 서비스에 접속을 하게 되면 IP가 변경되더라도 사용가능.

(container id의 경우에는 IP가 변경 될 때 다시 만들어지므로 X)

배포 서비스 리스트

Create Bridge Network

다양한 서비스들이 하나의 가상네트워크를 만들어 통신

 

Bridge network

$ docker network create --drive bridge [브릿지 이름]

Host network

- 네트워크를 호스트로 설정하면 호스트의 네트워크 환경을 그대로 사용

- 포트 포워딩 없이 내부 어플리케이션 사용

 

None network

- 네트워크를 사용하지 않음

- Io 네트워크만 사용, 외부와 단절

$ docker network create ecommerce-network

$ docker network ls

Exited 상태 container 삭제

 

docker network 생성

$ docker network create --gateway 172.18.0.1 --subnet 172.18.0.0/16 ecommerce-network

docker network 상세보기

container name으로 서로 통신 가능해지도록 docker container의 네트워크 기능 사용할 것.