도커 네트워크 (Docker Network)
도커 컨테이너와 서비스가 강력한 이유 중 하나는 도커 간 연결이 가능하고 도커를 도커가 아닌 다른 워크로드에 연결이 가능하다.
도커 컨테이너와 서비스는 도커 엔진 상에서 실행되고 있는지 피어가 도커 엔진 상에서 실행되고 있는지를 알 필요가 없다.
또한 Docker 엔진이 실행되는 호스트가 Linux이든 Windows 이든, Mac OS X 이든 상관없이 플랫폼에 구애받지 않고
Docker를 사용하여 컨테이너를 관리할 수 있다.
이를 위해 도커 네트워킹 개념이 정의되어 있으며 이러한 기능을 최대한 활용하도록 애플리케이션을 설계 배포할 수 있어야 한다.
도커 네트워크 관련 명령어
1. 기본 docker network 명령어
컨테이너 네트워크를 구성하고 관리하기 위해서 $docker network
명령어가 사용된다.
명령어에 대한 사용 방법은 다음과 같다.
$docker network
Usage: docker network COMMAND
Manage networks
Commands:
connect Connect a container to a network
create Create a network
disconnect Disconnect a container from a network
inspect Display detailed information on one or more networks
ls List networks
prune Remove all unused networks
rm Remove one or more networks
Run 'docker network COMMAND --help' for more information on a command.
2. 도커 호스트에 존재하는 컨테이너 네트워크 확인
도커 호스트에 존재하는 컨테이너 네트워크를 확인할 수 있는 명령어는 다음과 같다.
각 네트워크는 유일한 ID와 NAME 속성을 가진다. 또한 각 네트워크는 하나의 네트워크 드라이버와 관련이 있다.
brdge 네트워크와 host 네트워크는 같은 이름의 네트워크 드라이버를 가진다.
$docker network ls
NETWORK ID NAME DRIVER SCOPE
2972f6d4acc1 bridge bridge local
78d3e55198f2 host host local
a8782f92e9fe none null local
3. 네트워크 상세 조사
상세한 네트워크 구성 정보를 얻을 때 사용된다. 상세 정보는 이름, 식별자, 드라이버, 서브넷 정보, 연결된 컨테이너, IPAM 드라이버 등의 정보가 포함된다.
$docker network inspect <네트워크 이름>
예로 bridge 이라는 이름을 가진 네트워크에 대한 정보를 확인하는 명령어는 다음과 같다.
$docker network inspect bridge
[
{
"Name": "bridge",
"Id": "2972f6d4acc177e473469be238d9c39c108bd697c44d8096fe6eea30b63bc683",
"Created": "2022-11-02T01:35:27.025697821Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
4. 네트워크 드라이버 플러그인의 목록 확인
도커 호스트에 설치된 네트워크 드라이버 플러그인 목록을 확인하는 명령어는 다음과 같다.
$docker network info
실행 결과는 Client와 Server로 구분하여 플러그인된 목록을 보여준다. 다음은 Server와 관련한 정보 중 일부를 나타낸 것이다.
Server:
Containers: 45
Running: 10
Paused: 0
Stopped: 35
Images: 24
Server Version: 20.10.10
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
'클라우드 컴퓨팅' 카테고리의 다른 글
[AWS Certified Solutions Architect]AWS Compute Services - Virtual Machne EC2 (0) | 2024.04.24 |
---|---|
[AWS Certified Solutions Architect] 클라우드 컴퓨팅과 AWS (0) | 2024.04.16 |
[AWS] AWS Identity and Access Management(IAM) (0) | 2024.02.20 |
[Docker] 우분투 컨테이너(ubuntu container)에 package 설치 (0) | 2022.11.02 |
[클라우드] 클라우드 서비스 분류 (0) | 2021.12.24 |