네트워크 목록 표시 (예제)
$ sudo docker network ls
NETWORK ID NAME DRIVER SCOPE
914f387eab6b bridge bridge local
c8fa1e69139e host host local
478c12382ce4 none null local
필터링값 | 설명 |
---|---|
driver | 드라이버 지정 |
id | 네트워크 ID |
label | 네트워크에 설정된 라벨(label=<Key> 또는 <Key>=<value>로 지정 |
name | 네트워크명 |
scope | 네트워크의 스코프(swarm/global/local |
type | 네트워크의 타입(사용자 정의 및 네트워크 custom/정의 완료 네트워크 builtin) |
네트워크 목록 표시의 필터링 (예제)
$ sudo docker network ls -q --filter driver=bridge
914f387eab6b
컨테이너 시작 및 네트워크 확인 - 기본값 (예제)
$ sudo docker container run -itd --name=sample ubuntu:latest
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
7ddbc47eeb70: Pull complete
c1bbdc448b72: Pull complete
8c3b70e39044: Pull complete
45d437916d57: Pull complete
Digest: sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d
Status: Downloaded newer image for ubuntu:latest
6f5f6f2977d0396a055bb56de9483230600e67259f638b2933c73878a2cfb096
$ sudo docker container inspect sample | grep -A 20 'Networks"'
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "914f387eab6bad21aa135f72502af7712546bb9e18171053620452e1024a5e7b",
"EndpointID": "87327fa279458f5d54052b24118294689ca46daa621a6e10651479b0d627fe97",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.3",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:03",
"DriverOpts": null
}
}
}
}
]
docker network create [옵션] 네트워크
주요 옵션
오버레이 네트워크 : 여러 개의 호스트에 걸쳐있는 네트워크
브리지 네트워크 작성 (예제)
web-network라는 이름의 브리지 네트워크를 작성
참고로 --driver 옵션에서 지정할수 있는 네트워크 드라이버 키값은 'bridge' 또는 'overlay'입니다. 또한 커스텀 네트워크 드라이버도 사용할 수 있습니다. 오버레이 네트워크는 여러개의 호스트에 걸쳐있는 네트워크를 말합니다.
$ sudo docker network create --driver=bridge web-network
ff20a5e471efedc350cf63c0bbcd4619afa8cd969993aa9686a8fdf3c70624d1
$ sudo docker network ls
NETWORK ID NAME DRIVER SCOPE
914f387eab6b bridge bridge local
c8fa1e69139e host host local
478c12382ce4 none null local
ff20a5e471ef web-network bridge local
docker network connect [옵션] 네트워크 컨테이너
docker network disconnect [옵션] 네트워크 컨테이너
네트워크에 대한 연결 (예제)
$ sudo docker network connect web-network sample
$ sudo docker container inspect sample | grep -A 20 'web-'
"web-network": {
"IPAMConfig": {},
"Links": null,
"Aliases": [
"6f5f6f2977d0"
],
"NetworkID": "ff20a5e471efedc350cf63c0bbcd4619afa8cd969993aa9686a8fdf3c70624d1",
"EndpointID": "43556adf01f64c1b39b25dc9ec662b3a981d47dd7e6c52eba2f98aa0c4a81a29",
"Gateway": "172.19.0.1",
"IPAddress": "172.19.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:13:00:02",
"DriverOpts": {}
}
}
}
}
]
네트워크를 지정한 컨테이너 시작 (예제)
$ sudo docker container run -itd --name sample2 --net=web-network nginx
9d4977cbb33a4e50bd00169a702b019f79e8cbfbbff469c123bf50e73a9de8f3
네트워크에 대한 연결 해제 (예제)
$ sudo docker network disconnect web-network sample
$ docker container inspect sample | grep -A 20 'web-'
네트워크 상세 정보 표시 (예제)
$ sudo docker network inspect web-network
[
{
"Name": "web-network",
"Id": "ff20a5e471efedc350cf63c0bbcd4619afa8cd969993aa9686a8fdf3c70624d1",
"Created": "2019-10-21T05:54:45.972527483+09:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.19.0.0/16",
"Gateway": "172.19.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"9d4977cbb33a4e50bd00169a702b019f79e8cbfbbff469c123bf50e73a9de8f3": {
"Name": "sample2",
"EndpointID": "7400c7ae460f5d11058a322388f60da77210d6b112f0f150847615d8b36429a5",
"MacAddress": "02:42:ac:13:00:03",
"IPv4Address": "172.19.0.3/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
네트워크 삭제 (예제)
// 사용중인 건이 있을 경우 다음과 같이 에러가 발생함
$ sudo docker network rm web-network
Error response from daemon: error while removing network: network web-network id ff20a5e471efedc350cf63c0bbcd4619afa8cd969993aa9686a8fdf3c70624d1 has active endpoints
// 연결해제
$ sudo docker network disconnect web-network 9d4977cbb33a
$ sudo docker network rm web-network
web-network