반응형
Docker Network
도커 네워의 목록 확인
$ docker network ls [option..]
옵션 | 설명 |
---|---|
-f --filter=[] | 출력을 필터링한다. |
--no-trunc | 상세 정보를 출력한다. |
-q, --quite | 네트워크 ID만 표시한다. |
$ docker network ls
[결과]
도커는 기본값으로 bridge, host, none 이 세 개의 네트워크를 만든다.
NETWORK ID | NAME | DRIVER | SCOPE |
---|---|---|---|
521132b4fa64 | bridge | bridge | local |
7a5dbd6ac9fb | host | host | local |
4afd4ca94851 | none | null | local |
네트워크 목록 표시 필터링
$ docker network ls -q --filter driver=bridge
521132b4fa64
sample
이란 이름으로 ubuntu:latest 컨테이너 실행
$ docker container run -itd --name=sample ubuntu:latest
docker inspect [name..]
명령을 통해 docker 컨테이너에 소속된 네트워크 확인할 수 있다.
$ docker container inspect sample
[
{
...
"NetworkSettings" {
...
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "521132b4fa641980f1497cc7c0afad4d31b602bca04be3131cb6bd3101f847de",
"EndpointID": "70bb2ee608cd6d88c66fed00b4388742c4a8485977ac113facce8471dd2ac005",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:02",
"DriverOpts": null
}
}
}
}
]
네트워크 생성(docker network create)
$ docker network create [옵션] 네트워크
지정할 수 있는 주요 옵션
옵션 | 설명 |
--driver, -d | 네트워크 브리지 또는 오버레이(기본값 bridge) |
--ip-range | 컨테이너에 할당하는 IP 주소 범위 지정 |
--subnet | 서브넷을 CIDR 형식으로 지정 |
--ipv6 | IPv6 네트워크를 유효화할지 말지(true/false) |
--label | 네트워크에 설정하는 라벨 |
$ docker network create --driver=bridge web-network
caf80cc107b5e868ccb0bb263f9c402d0969f85da15b9235b152aaa2d8054d03
web-network작성 확인
$ docker network ls --filter driver=bridge
NETWORK ID NAME DRIVER SCOPE
521132b4fa64 bridge bridge local
caf80cc107b5 web-network bridge local
네트워크 연결 (docker network connect/docker network disconnect)
도커 네트워크 연결
$ docker network connect [옵션] 네트워크 컨테이너
'webserver'라는 Docker 컨테이너를 'web-network'라는 이름의 Docker network에 연결한다. 연결 후 동일한 네트워크 상에 있는 다른 컨테이너와 통신을 할 수 있다.
$ docker network connect web-network webserver
# 연결확인
$ docker inspect webserver
[
{
...
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "521132b4fa641980f1497cc7c0afad4d31b602bca04be3131cb6bd3101f847de",
"EndpointID": "",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "",
"DriverOpts": null
},
"web-network": {
"IPAMConfig": {},
"Links": null,
"Aliases": [
"f29c95b346af"
],
"NetworkID": "",
"EndpointID": "",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "",
"DriverOpts": {}
}
}
}
}
]
연결 시작 시 네트워크 연결 설정
$ docker container run -itd --name=webap --net=web-network nginx
도커 네트워크 연결 해제
$ docker network disconnect web-network webserver
네트워크 상세정보 확인(docker network inspect)
네트워크 상세 정보를 확인할 때 docker network inspect 명령을 사용.
$ docker network inspect [옵션] 네트워크
$ docker network inspect web-network
## containers에 'webserver'가 가동죽인 걸 확인할 수 있다.
[
{
"Name": "web-network",
"Id": "caf80cc107b5e868ccb0bb263f9c402d0969f85da15b9235b152aaa2d8054d03",
"Created": "2022-08-30T08:17:41.2935052Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"f29c95b346affd02532fe03dc2edeca59254204e16c48640ca3160cb584095e2": {
"Name": "webserver",
"EndpointID": "06e001770c62781ba9febedc6d7a7ac90a4234d926cf6f8e6616a9e751e66d72",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
네트워크 삭제(docker network rm)
$ docker network rm [옵션] 네트워크
$ docker network rm web-network
반응형
'CI-CD > Docker' 카테고리의 다른 글
9. Dockerfile (0) | 2023.04.19 |
---|---|
8. Docker compose를 이용하여 Kafka Confluent 설치 (0) | 2023.04.19 |
6. Docker container (0) | 2023.04.19 |
5. docker image 조작 (0) | 2023.04.19 |
4. 도커에서 웹 서버 작동하기(Nginx 설치하기) (0) | 2023.04.19 |