docker0(bridge)의 IP 대역인 172.17.0.0/16가 자신의 네트워크환경과 충돌 할 경우 변경이 필요하다./etc/docker/daemon.json 을 생성 혹은 편집하는 방법. 완료후 sudo service docker restart{
"default-address-pools": [
{
"scope": "local",
"base": "192.168.0.0/16",
"size": 24
}
]
}
--link로 할 수 있었으나 deprecated 상태이다.# bridge 생성 docker network create --driver bridge <네트워크이름> # 생성된 목록 확인 docker network ls # 네트워크 상태 조회 docker network inspect <네트워크ID> # 네트워크ID의 맨 앞 두 글자만 입력해도 됨 # 컨테이너를 띄울 때 --net <네트워크이름> docker run --net <네트워크이름> # 네트워크 제거 docker network rm <네트워크이름>
Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network 오류가 발생할 경우, 이미 사용중인 IP 대역에 대해 네트워크를 생성하려고 해서인듯.
--subnet 지정을 통해 다른 IP 대역을 할당한다.--ip-range=172.72.0.0/24--gateway=172.72.0.1docker network create --driver bridge <네트워크이름> --subnet="192.168.110.0/24"
--link <컨테이너 이름>:<별칭># 몽고DB를 띄우고 docker run --name db -d mongo # 거기에 접속할 다른 도커 컨테이너 띄울때 docker run --name web -d -p 80:80 --link db:db nginx # 이제 web 컨테이너에서는 db 라는 호스트명으로 mongodb 에 접속가능해진다.
docker inspect <container-id> : IPAddress 항목에서 확인가능docker exec <container-id> ip addr show eth0 : 이것은 해당 컨테이너에 ip라는 명령이 존재해야 한다.