Cloud/Container

docker container 고정 IP 설정

junsuyoun 2022. 9. 24. 23:02
728x90
반응형

docker container 재기동 수행 시 IP가 변경 되는 경우 아래 방법을 통해 IP를 고정할 수 있습니다.


docker network 생성
  • 컨테이너 생성 시 별도 네트워크 지정하지 않으면 디폴트로 bridge 네트워크가 선택되며 디폴트로 선택 된 상태에서는 IP를 고정할 수 없어 별도의 network를 생성하여 맵핑 시켜줍니다.
[root@junsu-desktop ~]docker_host# docker network create --gateway 10.10.10.1 --subnet 10.10.10.0/24 -d bridge net_static_test
4f2590c8f5c8ef4684efe48e82b899643d1a3840ddcebced92d3bfc2a5652166

[root@junsu-desktop ~]docker_host# docker network ls
NETWORK ID     NAME               DRIVER    SCOPE
26551ce90eb1   bridge             bridge    local
30fcca11c507   host               host      local
4f2590c8f5c8   net_static_test    bridge    local
docker container 생성
  • docker run 또는 create를 통해 컨테이너 생성을 합니다.
  • container 생성 옵션에 --net 옵션과 --ip를 지정하여 고정 IP를 할당 합니다.
[root@junsu-desktop ~]docker_host# docker run -itd  --net net_static_test --ip 10.10.10.30 --name con_static_test centos:7.9.2009
81f50e2386f7e06c6ac50133ecff38e02ac296a1ed7e3d64f3d8417eada0a9a4

[root@junsu-desktop ~]docker_host# docker inspect con_static_test
... 생략 ...
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "1b2982cbc217554dc0eaf5d8df917bfbead5aa27340f6e536f9e9aa6bd732eb1",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/1b2982cbc217",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "net_static_test": {
                    "IPAMConfig": {
                        "IPv4Address": "10.10.10.30"
                    },
                    "Links": null,
                    "Aliases": [
                        "81f50e2386f7"
                    ],
                    "NetworkID": "4f2590c8f5c8ef4684efe48e82b899643d1a3840ddcebced92d3bfc2a5652166",
                    "EndpointID": "c28da4db79d939c07cc67a34af72552060433d985c32b6668c0c1f8b52d6b95c",
                    "Gateway": "10.10.10.1",
                    "IPAddress": "10.10.10.30",
                    "IPPrefixLen": 24,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:0a:0a:0a:1e",
                    "DriverOpts": null
                }
            }
        }
    }
]

 


728x90
반응형