IT/etc

[Docker] 도커 컨테이너 IP확인

음료요정 2022. 3. 23. 01:31



도커의 Network 환경은 각각의 독립된 환경으로 제공받아있다.
Container들은 기본적으로 한개의 Ethernet Interface와 private IP를 자동으로 할당받는다.

참조할만한 사이트 : https://bluese05.tistory.com/15

Docker Network 구조(1) - docker0와 container network 구조

Docker Network 구조(1) - docker0와 container network 구조 [Contents] 1. Docker Network 구조(1) - docker0와 container network 구조 2. Docker Network 구조(2) - Container network 방식 4가지 3. Docker..

bluese05.tistory.com



Container가 할당 받은 IP를 확인하는 명령어는 아래와 같다.

1. docker inspect

프로세스 조회되어진 CONTAINER_ID나 NAME으로 조회가 가능하다. 해당 명령어는 Container 나 image의 low level 정보를 가져오는 명령어이다.

➜  ~ docker ps -a               
CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
63b47846a69b   docker/getting-started:latest   "/docker-entrypoint.…"   21 seconds ago   Up 20 seconds   80/tcp                                                 sleepy_wescoff
7e880707ecc5   mysql:latest                    "docker-entrypoint.s…"   7 minutes ago    Up 7 minutes    0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql-container

➜  ~ docker inspect sleepy_wescoff
[
    {
        "Id": "63b47846a69baff1781827ff7c70b5945c80cefcbd9fc2d49973a75ffc271dac",
        "Created": "2022-03-22T16:00:51.917901833Z",
        "Path": "/docker-entrypoint.sh",
        "Args": [
            "nginx",
            "-g",
            "daemon off;"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 2887,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2022-03-22T16:00:52.214168543Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:083d7564d90469bfdf28aaee441c451d447283ebff0c8d465e33be94e79b4088",
        "ResolvConfPath": "/var/lib/docker/containers/63b47846a69baff1781827ff7c70b5945c80cefcbd9fc2d49973a75ffc271dac/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/63b47846a69baff1781827ff7c70b5945c80cefcbd9fc2d49973a75ffc271dac/hostname",
        "HostsPath": "/var/lib/docker/containers/63b47846a69baff1781827ff7c70b5945c80cefcbd9fc2d49973a75ffc271dac/hosts",
        "LogPath": "/var/lib/docker/containers/63b47846a69baff1781827ff7c70b5945c80cefcbd9fc2d49973a75ffc271dac/63b47846a69baff1781827ff7c70b5945c80cefcbd9fc2d49973a75ffc271dac-json.log",
        "Name": "/sleepy_wescoff",
        "RestartCount": 0,
        "Driver": "overlay2",
        
        ... 생략


아래 정보 중 NetworkSettings 아래에 IPAddress 라는 정보가 있는데, 이것이 컨테이너에 할당된 Private IP이다.

"NetworkSettings": {
            "Bridge": "",
            "SandboxID": "1181435fc8bbb595136c1c177e10e4dc8a67ecc1a544470c650dd1231c32d2b8",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "80/tcp": null
            },
            "SandboxKey": "/var/run/docker/netns/1181435fc8bb",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "ccca51c7ef12bddfcbfbb9c08ac4c2f350eb3f528a3e63a10ab931b00fbd41b9",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.2",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:02",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "8d7716a3cef99f8d117c08b43d8a13c96008a7dd1440c128de1f63ad515daa91",
                    "EndpointID": "ccca51c7ef12bddfcbfbb9c08ac4c2f350eb3f528a3e63a10ab931b00fbd41b9",
                    "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
                }
            }
        }
    }
]
➜  ~