도커의 network 설정 중 bridge는 docker0이라는 네트워크를 사용한다. 



$ docker network inspect bridge

[

    {

        "Name": "bridge",

        "Id": "2b3831fb8f909d0a44d7a74f4f0df3327f1f02409096b4b8f4ba5a2ce5a5a7d6",

        "Created": "2019-06-28T22:52:24.973773315Z",

        "Scope": "local",

        "Driver": "bridge",

        "EnableIPv6": false,

        "IPAM": {

            "Driver": "default",

            "Options": null,

            "Config": [

                {

                    "Subnet": "1.1.0.0/16",

                    "Gateway": "1.1.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": {}

    }

]




host라는 모드가 있는데 이는 eth0을 사용하는 것이다. 

$ docker network inspect host

[

    {

        "Name": "host",

        "Id": "ee9bddcf9dc5a7804f63522a9740d3226e8df3ce31575cfc9a7ebbd0f7d5a23d",

        "Created": "2018-10-15T07:14:31.9624055Z",

        "Scope": "local",

        "Driver": "host",

        "EnableIPv6": false,

        "IPAM": {

            "Driver": "default",

            "Options": null,

            "Config": []

        },

        "Internal": false,

        "Attachable": false,

        "Ingress": false,

        "ConfigFrom": {

            "Network": ""

        },

        "ConfigOnly": false,

        "Containers": {},

        "Options": {},

        "Labels": {}

    }

]


또한 17.06부터 docker container create를 사용할 때 --network host를 사용하면 eth0을 바로 사용할 수 있다. 



kubernetes에서도 이와 비슷한 기능이 있다. 

pod의 모든 컨테이너에서 노드의 eth0을 사용할 수 있도록 HostNetwork(즉 hostNetwork: true)을 설정할 수 있다.  








Posted by '김용환'
,