Docker 네트워크 명령
Sure! I see the source line you’d like to keep, but I’ll need the rest of the text you want translated into Korean. Could you please provide the content (excluding code blocks and URLs) that should be translated? Once I have it, I’ll preserve the formatting and translate the appropriate parts for you.
Source: …
Docker network 명령 개요
docker network 명령은 Docker 네트워크를 관리하는 데 사용됩니다. 네트워크를 생성, 조회, 목록 표시, 연결, 연결 해제, 삭제 할 수 있습니다.
1. 네트워크 목록 표시
docker network ls
샘플 출력
| NETWORK ID | NAME | DRIVER | SCOPE |
|---|---|---|---|
| abcdef123456 | bridge | bridge | local |
| ghijkl789012 | host | host | local |
| mnopqr345678 | my-network | bridge | local |
| stuvwx901234 | my-overlay-net | overlay | swarm |
설명
| 열 | 설명 |
|---|---|
| NETWORK ID | 각 네트워크에 대한 고유 식별자 |
| NAME | 네트워크 이름 |
| DRIVER | 드라이버 유형 (예: bridge, overlay, host) |
| SCOPE | local – 현재 호스트에만 존재; global – 스웜 전체에 걸쳐 존재 |
2. 네트워크 상세 조회
docker network inspect <name-or-id>
<name-or-id>를 실제 이름이나 ID로 바꾸세요.
예시
docker network inspect my-network
샘플 JSON 출력 (간략히 표시)
[
{
"Name": "my-network",
"Id": "abcdef1234567890",
"Created": "2022-01-01T12:00:00Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Containers": {
"container1": {
"Name": "container1",
"EndpointID": "xyz123456789",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
},
"container2": {
"Name": "container2",
"EndpointID": "abc987654321",
"MacAddress": "02:42:ac:11:00:03",
"IPv4Address": "172.18.0.3/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
조회 결과에는 생성 시간, 드라이버, IPAM 설정, 연결된 컨테이너 등 다양한 세부 정보가 포함되어 있어 문제 해결 및 네트워크 설정 이해에 유용합니다.
3. 네트워크 생성
간단히 생성 (기본 bridge 드라이버)
docker network create my-network
옵션을 지정하여 커스텀 생성
docker network create \
--driver bridge \
--subnet 172.18.0.0/16 \
--gateway 172.18.0.1 \
--ip-range 172.18.0.0/24 \
my-custom-network
| 옵션 | 의미 |
|---|---|
--driver bridge | bridge 드라이버 사용 |
--subnet 172.18.0.0/16 | 네트워크 서브넷 정의 |
--gateway 172.18.0.1 | 게이트웨이 IP 지정 |
--ip-range 172.18.0.0/24 | 컨테이너에 할당 가능한 IP 범위 제한 |
my-custom-network | 새 네트워크 이름 |
생성 여부는 docker network ls 로 확인합니다.
4. 컨테이너를 네트워크에 연결
docker network connect my-network my-container
my-network– 대상 네트워크 이름my-container– 컨테이너 이름 또는 ID
이제 해당 컨테이너는 my-network 안의 다른 컨테이너와 이름이나 IP 주소를 통해 통신할 수 있습니다.
5. 컨테이너를 네트워크에서 연결 해제
docker network disconnect my-network my-container
my-network– 연결 해제할 네트워크my-container– 컨테이너 이름 또는 ID
연결 해제 후에는 해당 네트워크의 피어와 통신할 수 없게 되지만, 다른 네트워크에 남아 있을 수 있습니다.
6. 네트워크 삭제
docker network rm <network>
<network>를 삭제하려는 네트워크 이름이나 ID로 바꾸세요.
예시
docker network rm my-network
참고: 컨테이너가 아직 연결된 상태에서는 네트워크를 삭제할 수 없습니다.
먼저 해당 컨테이너를 분리하거나 중지하십시오.
Docker Network Commands Cheat‑Sheet
아래는 가장 일반적인 Docker 네트워크 명령들의 정리된 참고 자료이며, 사용법과 예시를 포함합니다.
1. Remove a Network
docker network rm <network>
Example
docker network rm my-network
my-network은 삭제하려는 Docker 네트워크의 이름(또는 ID)입니다. Docker는 지정된 네트워크를 제거하며, 해당 네트워크에만 연결된 컨테이너는 연결이 끊기고, 여러 네트워크에 연결된 컨테이너는 다른 네트워크와의 연결은 유지됩니다.
2. Prune Unused Networks
docker network prune
옵션 없이 실행하면 확인 메시지가 표시됩니다:
WARNING! This will remove all unused networks.
Are you sure you want to continue? [y/N] y
Skip Confirmation
docker network prune -f # or --force
unused 네트워크(어떤 컨테이너에도 연결되지 않은 네트워크)만 제거됩니다. 사용 중인 네트워크는 그대로 남아 있습니다.
3. Create a Custom IPAM Configuration
docker network create-ipam --subnet=<subnet> <network-name>
Example
docker network create-ipam --subnet=192.168.1.0/24 my-custom-network
--subnet=192.168.1.0/24– 네트워크에 할당할 IP 주소 범위를 정의합니다.my-custom-network– 이 IPAM 구성을 사용할 Docker 네트워크 이름입니다.
맞춤형 IPAM을 지정하지 않으면 Docker는 기본 설정을 적용합니다.
4. Connect a Container Using a Custom IPAM
docker network connect-ipam --ip=<ip> <network-name> <container>
Example
docker network connect-ipam --ip=192.168.1.10 my-custom-network my-container
--ip=192.168.1.10– 해당 네트워크에서 컨테이너에 할당할 고정 IP입니다.my-custom-network– 맞춤형 IPAM 구성을 가진 네트워크입니다.my-container– 대상 컨테이너 이름입니다.
5. Disconnect a Container from a Custom IPAM Network
docker network disconnect-ipam <network-name> <container>
Example
docker network disconnect-ipam my-custom-network my-container
Important:
disconnect-ipam은 맞춤형 IPAM 구성을 사용하는 네트워크에만 해당됩니다. 기본 IPAM 네트워크의 경우 일반docker network disconnect명령을 사용하세요.
6. Example: Creating a Bridge Network and Testing Connectivity
# List running containers (none at this point)
docker container ls
#> CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# List existing networks
docker network ls
#> NETWORK ID NAME DRIVER SCOPE
#> 6c51373f78ad bridge bridge local
#> 3a33f83c3664 host host local
#> e4ebd601732e none null local
# Run two Ubuntu containers in detached mode
docker container run -itd ubuntu:14.04 bash
#> 7b1af2ee48e43f8018c4324bbcb9f52a27f741bd7a0437ddd0f6766bd7ca6b10
docker container run -itd ubuntu:14.04 bash
#> c3ce5dbe5d859705f139e811bc11367d02bf0969492e9d515a3cc6cc636ddfbb
# Verify they are running
docker container ls
#> CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
#> c3ce5dbe5d85 ubuntu:14.04 "bash" 8 seconds ago Up 7 seconds unruffled_sinoussi
#> 7b1af2ee48e4 ubuntu:14.04 "bash" 10 seconds ago Up 9 seconds trusting_joliot
# Try to ping one container from the other (fails because they are on the default bridge)
docker container exec -it 7b1af2ee48e4 bash
#> root@7b1af2ee48e4:/# ping c3ce5dbe5d85
#> ping: unknown host c3ce5dbe5d85
# Create a custom bridge network (DNS is enabled by default on custom bridges)
docker network create test
#> b1e05c1afdb2f901e
이제 docker network connect 명령이나 --network test 옵션으로 컨테이너를 test 네트워크에 연결하면, 이름을 통해 서로를 확인할 수 있습니다.
Quick Reference Table
| 명령 | 목적 | 예시 |
|---|---|---|
docker network rm | 특정 네트워크 삭제 | docker network rm my-network |
docker network prune | 모든 unused 네트워크 제거 | docker network prune -f |
docker network create-ipam | 사용자 정의 IPAM 설정으로 네트워크 생성 | docker network create-ipam --subnet=192.168.1.0/24 my-custom-network |
docker network connect-ipam | 맞춤형 IPAM 네트워크에 컨테이너 연결 | docker network connect-ipam --ip=192.168.1.10 my-custom-network my-container |
docker network disconnect-ipam | 맞춤형 IPAM 네트워크에서 컨테이너 연결 해제 | docker network disconnect-ipam my-custom-network my-container |
docker network prune -f | 확인 없이 사용되지 않은 네트워크 일괽 삭제 | docker network prune -f |
| 명령 | 설명 | 예시 |
|---|---|---|
docker network create-ipam | 사용자 정의 IPAM으로 네트워크 생성 | docker network create-ipam --subnet=10.0.0.0/24 my-net |
docker network connect-ipam | 정적 IP를 가진 컨테이너 연결 | docker network connect-ipam --ip=10.0.0.5 my-net my-container |
docker network disconnect-ipam | 사용자 정의 IPAM 네트워크에서 컨테이너 분리 | docker network disconnect-ipam my-net my-container |
docker network create | 일반(브리지) 네트워크 생성 (DNS 활성화) | docker network create test |
추가 명령 및 예시
81a66a52d64a9dcdca9c5cab98433cdaed2faa83c5b3e6b
컨테이너 목록 (실행 중인 것이 없음)
localhost:~$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
test 네트워크에서 ubuntu 이미지로 컨테이너 생성
localhost:~$ docker container run -itd --network=test ubuntu:14.04 bash
c7b07b61bb20cdbb6e1b54a165aed0f8907d95d563fdd7a60940d004694c4557
다시 컨테이너 목록 보기
localhost:~$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c7b07b61bb20 ubuntu "bash" About a minute ago Up About a minute
컨테이너 검사 (발췌)
{
"Networks": {
"host": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "b1e05c1afdb2f901e81a66a52d64a9dcdca9c5cab98433cdaed2faa83c5b3e6b",
"EndpointID": "b860ca4fdda3e0732367949cb94fd2eded08a4f2e46715a6c125b1bf336c102f",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "",
"DriverOpts": null
}
}
}
네트워크 삭제
localhost:~$ docker network ls
NETWORK ID NAME DRIVER SCOPE
6c51373f78ac bridge bridge local
3a33f83c3663 host host local
e4ebd601732c none null local
348f7295d3ca test bridge local
localhost:~$ docker network rm test
test
localhost:~$
📝 이 블로그가 마음에 드셨나요?
커피 한 잔 사 주세요 ☕
None 네트워크 드라이버란?
Meghasharmaa