Docker 컨테이너(container)는 격리된 환경에서 돌아가기 때문에 기본적으로 다른 컨테이너와의 통신이 불가능하다. 하지만 여러 개의 컨테이너를 하나의 Docker 네트워크(network)에 연결시키면 서로 통신이 가능해진다. 컨테이너 간 네트워킹이 가능하도록 도와주는 Docker 네트워크에 대해 알아보도록 하자.
네트워크 조회
docker network ls 명령어를 사용하면 현재 생성되어 있는 Docker 네트워크 목록을 조회할 수 있다.
bridge, host, none은 Docker 데몬(daemon)이 실행되면서 디폴트로 생성되는 네트워크이다. 대부분의 경우에는 이러한 디폴트 네트워크를 이용하는 것 보다는 사용자가 직접 네트워크를 생성해서 사용하는 것이 권장된다.
network의 driver는 해당 네트워크의 작동 방식에 대한 것으로, 여기에서 더 자세한 내용을 볼 수 있다.
네트워크 생성
먼저 docker network create 커맨드를 사용해서 새로운 Docker 네트워크를 생성해보자.
추가된 네트워크는 docker network ls 커맨드로 확인할 수 있다. -d 옵션을 사용하지 않았기 때문에 기본값인 bridge 네트워크로 생성된 것을 볼 수 있다.
상세 정보 확인
docker network inspect로 네트워크의 상세 정보를 확인할 수 있다.
아직 컨테이너에 연결하지 않았기 떄문에 Containers 항목이 비어있다.
네트워크에 컨테이너 연결
our-net 네트워크의 상세 정보를 확인해보면 one이라는 컨테이너가 연결되어있는 것을 볼 수 있다.