Docker network 이해

3593 단어 Docker
Docker Network에 대해 조사한 결과

개요


Docker Network는 시작할 때 docker 0이라는 네트워크 인터페이스를 시작합니다.또 세 개의 네트워크를 생성한다.
~ $ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
2509da118a6f        bridge              bridge              local
24b9d7c165dd        host                host                local
2580b7cd0d2f        none                null                local
  • host: 인산과 동일한 네트워크 인터페이스 사용
  • none: 네트워크 인터페이스 사용하지 않음
  • bridge:docker0을 사용합니다.용기가 시작될 때 네트워크 인터페이스를 지정하지 않으면 자동으로 이 인터페이스를 분배합니다.
  • bridge 정보

    ~ $ docker network inspect bridge
    [
        {
            "Name": "bridge",
            "Id": "ID",
            "Created": "Created",
            "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": {
                "Container1": {
                    "Name": "nginx",
                    "EndpointID": "EndpointID",
                    "MacAddress": "MacAddress",
                    "IPv4Address": "172.17.0.2/16",
                    "IPv6Address": ""
                }
            },
            "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": {}
        }
    ]
    
    컨테이너스 내에서bridge 네트워크에 걸린 컨테이너 일람을 볼 수 있다.

    docker-compose 정보


    docker-compose 명령으로 여러 용기를 한꺼번에 시작하면 모든 용기가 새로 생성된 네트워크에 걸립니다.생성된 네트워크가 지정되지 않으면 docker 0 인터페이스를 사용합니다.
    ~ $ docker-compose ps
         Name                    Command               State          Ports
    -------------------------------------------------------------------------------
    nextcloud_app_1   /entrypoint.sh apache2-for ...   Up      0.0.0.0:9000->80/tcp
    nextcloud_db_1    docker-entrypoint.sh mysqld      Up      3306/tcp
    
    ~ $ docker network ls
    NETWORK ID          NAME                DRIVER              SCOPE
    c9608596f355        nextcloud_default   bridge              local
    

    화상도


    총괄해 보면 이런 느낌이다.
    ※ 잘못하면 떳떳하지 못하다

    내부 DNS 정보


    Docker Engine을 시작하면 사용자정의 네트워크용 DNS 서버가 시작됩니다.동일한 Docker 네트워크에서 사용자가 정의한 호스트 이름과 IP 주소는 DNS에서 변환됩니다.

    참고 자료

  • https://docs.docker.com/network/
  • 좋은 웹페이지 즐겨찾기