Docker를 설치하면 자동으로 브리지, none(null), 호스트 네트워크가 생성된다.
컨테이너에서 사용하는 기본 네트워크
docker run ubuntu
Docker가 호스트에 생성한 프라이빗 내부 네트워크(내부 IP 사용)
모든 컨테이너는 기본적으로 bridge와 연결
외부에서 컨테이너에 엑세스하려면 컨테이너의 포트를 host 포트에 매핑해야함
docker run ubuntu --network=none
none network는 외부 네트워크나 다른 컨테이너에 엑세스할 수 없음
격리된 네트워크
docker run ubuntu --network=host
컨테이너를 호스트 네트워크에 연결하면 웹 컨테이너를 포트매핑 없이 사용할 수 있지만 포트가 모든 컨테이너에 공유되기 때문에 하나의 웹서버만 실행 가능
내부 네트워크를 사용하려면
docker network create --driver bridge --subnet 182.xx.x.x/xx <custom-isolated-network>
네트워크 드라이버를 bridge로 지정하고 subnet을 입력하고 네트워크 이름을 입력한다.
기존 컨테이너에 배정된 네트워크 설정과 IP 주소 보기
docker inspect <Container ID or Name>
컨테이너끼리 이름을 사용해 서로 접근 가능
IP로 지정하면 고정 IP가 아니라 바뀔 수 있으니까 이름으로 해야함
도커 내부에 컨테이너 이름으로 연결할 수 있게 해주는 내장 DNS가 있음
네트워크 Namespace를 사용하여 가능하게 함