docker自定義網絡與網絡連接


(1)自定義網絡:

  docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

    ##bridge -網絡模式橋連接 subnet - 子網絡網段 gateway - 路由 mynet- 網絡名

 

 

 (2)查看網絡信息:

  docker network inspect mynet

 

 

 

 自定義網絡修復了docker0的容器之間無法用容器名相互ping通的問題,只能使用ip才能ping通,但是我們自定義的網絡是可以用ip或者容器名相互ping通的

 

(3)我們在自己的網段里創建兩個容器

  ① docker run -d -P --name tomcat01 --net mynet tomcat

  ② docker run -d -P --name tomcat02 --net mynet tomcat

 

 

 (4)查看自定義網絡信息

    docker network inspect mynet

 

 (5)相互使用容器名ping測試

 

 

 

 相互可以ping通(測試成功)

 

結論:在docker 中直接 run 創建容器時不加自定義的網絡,是無法使用容器名相互ping通的,只能通過ip。(通過docker0的橋連接相互通信)

我們自己定義好的網絡在創建容器時,是可以直接通過容器名相互ping通的。

 

(6)我們如果在創建一個容器不在該網段內如何能和該網段內的容器進行ping呢?

    docker -d -P --name tomcat03 tomcat(沒有加-net默認是走docker0的網段)

    docker -d -P --name tomcat04 tomcat(沒有加-net默認是走docker0的網段)

 

    沒有做網絡鏈接時ping不通的

 

 

 

(7) 網絡鏈接:(容器和網絡鏈接,不是docker0和網絡鏈接

    docker network connect mynet tomcat03

    鏈接完成之后再去ping

 

 

 為什么呢?原因:一個容器兩個ip

[root@awei /]# docker network inspect mynet
[
    {
        "Name": "mynet",
        "Id": "f82e335a380b70d27116c9f2a6df5f063b527977a682e5622f9808fb3f4b0b02",
        "Created": "2020-07-30T09:46:56.227147587+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "192.168.0.0/16",
                    "Gateway": "192.168.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "0a58017c5bfdeb9904937bf26583b81c641c6211719d12f2cd3cc3876a159a3e": {
                "Name": "tomcat02",
                "EndpointID": "6f17ada1c5e8cb9e06db50aebef80da76ef9916b5cbfd7314ebd9af04d7f3919",
                "MacAddress": "02:42:c0:a8:00:03",
                "IPv4Address": "192.168.0.3/16",
                "IPv6Address": ""
            },
            "125b2018a96149cf0b32914444cc1ac8b9b5e7c9510753a7fd1f2e5dfaf04546": {
                "Name": "tomcat01",
                "EndpointID": "69b3d904da02bddabde47cce4a1f164044eb5f20724f43e347d7a8e165714659",
                "MacAddress": "02:42:c0:a8:00:02",
                "IPv4Address": "192.168.0.2/16",
                "IPv6Address": ""
            },
            "d1c4c32c1d6cf6deea78bd1d9ed4295d433fa3d4f1e264525ea0d05bbe4ba851": {
                "Name": "tomcat03",
                "EndpointID": "037234ab18713dea5abe06aa8167b046d01feea42d7ed2eaf0aa457d18309425",
                "MacAddress": "02:42:c0:a8:00:04",
                "IPv4Address": "192.168.0.4/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

    這里可以看到tomcat03加入到了mynet的網絡中了

 

 

  (8)查看容器詳細信息:

    docker inspect d1c4c32c1d6c(tomcat03的id)

 

 

 

[root@awei /]# docker network inspect mynet[    {        "Name": "mynet",        "Id": "f82e335a380b70d27116c9f2a6df5f063b527977a682e5622f9808fb3f4b0b02",        "Created": "2020-07-30T09:46:56.227147587+08:00",        "Scope": "local",        "Driver": "bridge",        "EnableIPv6": false,        "IPAM": {            "Driver": "default",            "Options": {},            "Config": [                {                    "Subnet": "192.168.0.0/16",                    "Gateway": "192.168.0.1"                }            ]        },        "Internal": false,        "Attachable": false,        "Ingress": false,        "ConfigFrom": {            "Network": ""        },        "ConfigOnly": false,        "Containers": {            "0a58017c5bfdeb9904937bf26583b81c641c6211719d12f2cd3cc3876a159a3e": {                "Name": "tomcat02",                "EndpointID": "6f17ada1c5e8cb9e06db50aebef80da76ef9916b5cbfd7314ebd9af04d7f3919",                "MacAddress": "02:42:c0:a8:00:03",                "IPv4Address": "192.168.0.3/16",                "IPv6Address": ""            },            "125b2018a96149cf0b32914444cc1ac8b9b5e7c9510753a7fd1f2e5dfaf04546": {                "Name": "tomcat01",                "EndpointID": "69b3d904da02bddabde47cce4a1f164044eb5f20724f43e347d7a8e165714659",                "MacAddress": "02:42:c0:a8:00:02",                "IPv4Address": "192.168.0.2/16",                "IPv6Address": ""            },            "d1c4c32c1d6cf6deea78bd1d9ed4295d433fa3d4f1e264525ea0d05bbe4ba851": {                "Name": "tomcat03",                "EndpointID": "037234ab18713dea5abe06aa8167b046d01feea42d7ed2eaf0aa457d18309425",                "MacAddress": "02:42:c0:a8:00:04",                "IPv4Address": "192.168.0.4/16",                "IPv6Address": ""            }        },        "Options": {},        "Labels": {}    }]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM