Docker는 컨테이너 간 통신을 위한 다양한 방법을 제공합니다. 이를 위해서는 컨테이너 간 네트워크를 설정해야 합니다.

  1. 사용자 정의 브리지 네트워크 생성 Docker에서는 사용자 정의 브리지 네트워크를 생성하여 두 개 이상의 컨테이너가 동일한 네트워크에서 통신할 수 있습니다. 먼저, 다음 명령어로 사용자 정의 브리지 네트워크를 생성합니다.
docker network create my-network

그리고 컨테이너를 실행할 때, --net 옵션을 사용하여 해당 네트워크에 연결합니다.

docker run --name container1 --net my-network image1
docker run --name container2 --net my-network image2

이제 container1에서 container2로 통신이 가능해집니다.

  1. 호스트 네트워크 사용 컨테이너가 호스트와 동일한 네트워크를 사용하도록 설정할 수 있습니다. 다음과 같이 --net=host 옵션을 사용하여 호스트 네트워크를 사용할 수 있습니다.
docker run --name container1 --net=host image1
docker run --name container2 --net=host image2

이제 container1에서 container2로 바로 통신이 가능합니다.

  1. 링크(Link) 사용 Docker는 --link 옵션을 사용하여 컨테이너 간 통신을 가능하게 합니다. 이 옵션을 사용하면, 명령어에서 컨테이너 이름을 지정할 수 있으며, 그에 따라 해당 컨테이너의 IP 주소 및 환경 변수를 사용할 수 있습니다.
docker run --name container1 --link container2:image2 image1

위의 예시에서 container1은 container2의 IP 주소 및 환경 변수를 사용할 수 있게 됩니다.

Docker는 위와 같은 방법을 통해 컨테이너 간 통신을 가능하게 합니다. 이를 통해 각각의 컨테이너는 독립적으로 실행되면서도 필요한 경우 다른 컨테이너와 연결하여 통신할 수 있습니다.

참고 문헌: [1] https://stackoverflow.com/questions/55862431/how-to-communicate-between-two-containers-using-docker[2] https://www.tutorialworks.com/container-networking/[3] https://stackoverflow.com/questions/30545023/how-to-communicate-between-docker-containers-via-hostname

'개발 > Docker' 카테고리의 다른 글

도커 기본 명령어 설명 (Docker basic commands)  (0) 2023.03.09

+ Recent posts