Docker 修改网桥网段

Docker 修改网桥网段

场景:

服务器: centos7

在Docker上部署了 ExceptionLess 自动创建了网桥:excepitonless_default,默认占用了 172.19.0.0 网段

在华为云上的应用 访问 此服务器时,数据返回不到华为云上了。

由于华为云上的地址也是172.19.0.0网段上的。

所以返回数据时,直接找到docer 上去了。

 

解决方式:

修改 docer 上的 excepitonless_default 网桥网段,改成 172.30.0.0

 

操作:

1. 查看所有网桥

docker network ls

 

 

 2. 查看网桥地址

ifconfig br-65fbae86767e

 

 

 

 

3. 查看网桥使用的具体信息

docker network inspect 65fbae86767e

 

 内容如下,里面可看到具体的容器ID

[root@mestest ~]# docker network inspect 64c2fc45bd6e
[
    {
        "Name": "exceptionless_default",
        "Id": "64c2fc45bd6ee618f1ceebe6ad5c5915ccde5ad1939e166fa135a2b2252abe72",
        "Created": "2019-09-26T14:25:29.227480992+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.19.0.0/16",
                    "Gateway": "172.19.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "417785d3375b4c65ae19d28c1d6f0f050379790d66e337bb651e326de0815c3d": {
                "Name": "exceptionless_redis_1",
                "EndpointID": "e11117cab07e4cdbc5c5d710bc1685190f4fde26ab8a4a56faf7b20bbe655495",
                "MacAddress": "02:42:ac:13:00:02",
                "IPv4Address": "172.19.0.2/16",
                "IPv6Address": ""
            },
            "5d59901efdd32c3056676ee136601716696f14b89246f09fb38f8ec2787506c1": {
                "Name": "exceptionless_jobs_1",
                "EndpointID": "40988b4be56aad244340044607449748eb9e766e4a66d2bdaea4ea4b2bfa1c0d",
                "MacAddress": "02:42:ac:13:00:06",
                "IPv4Address": "172.19.0.6/16",
                "IPv6Address": ""
            },
            "6fb7b3d8e2c0e4c3481d79ce2fe2ebfbaa25700f99a4ac773dd618e18bcc899c": {
                "Name": "exceptionless_ui_1",
                "EndpointID": "6c5a1be453356f7f134036646996db350506c251cad67cccdd16fa28a7e59466",
                "MacAddress": "02:42:ac:13:00:03",
                "IPv4Address": "172.19.0.3/16",
                "IPv6Address": ""
            },
            "7cc890a58bbde8c8a11a2847d9d2eb607b3b0cdada50dc7af657fa07bf2833bb": {
                "Name": "exceptionless_api_1",
                "EndpointID": "a2641c9a5bc3f2509b04dfe69c79708bbc916872bdc547048848b22d3990883d",
                "MacAddress": "02:42:ac:13:00:07",
                "IPv4Address": "172.19.0.7/16",
                "IPv6Address": ""
            },
            "e8f988bf7bdffb0b20ad687ba99a0cd131a18eb17e290d701d1efb115fa81508": {
                "Name": "exceptionless_elasticsearch_1",
                "EndpointID": "91e8ac8e03d8edc227c4cac17d51b7f8a43e4b43b042ed96b1cda9e0f04cd92a",
                "MacAddress": "02:42:ac:13:00:04",
                "IPv4Address": "172.19.0.4/16",
                "IPv6Address": ""
            },
            "eebd379c82f33c1f73e6da287e2718874bfd2c12d1e21dc576752d85cf099e01": {
                "Name": "exceptionless_kibana_1",
                "EndpointID": "58785c16561d111826d4c71066f32b7a87cc1cb6b3c0118b3dcd7c27dc11d817",
                "MacAddress": "02:42:ac:13:00:05",
                "IPv4Address": "172.19.0.5/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "default",
            "com.docker.compose.project": "exceptionless",
            "com.docker.compose.version": "1.25.0-rc2"
        }
    }
]
View Code

 

4. 停止步骤3中的所有容器 

[root@mestest ~]# docker stop 5d59901
5d59901
[root@mestest ~]# docker stop eebd379
eebd379
[root@mestest ~]# docker stop 7cc890
7cc890
[root@mestest ~]# docker stop 6fb7b3d
6fb7b3d
[root@mestest ~]# docker stop e8f988
e8f988
[root@mestest ~]# docker stop 417785

 

5. 删除网桥

[root@mestest ~]# docker network rm exceptionless_default

 

 6. 创建新的网桥

 创建网桥(同名)并指定网段为 172.30.0.0

[root@mestest ~]# docker network create exceptionless_default --subnet=172.30.0.0/16 

 

7.启动容器

docker start 5df5990

 

此时发现报错,由于原网桥ID变了。

8. 给容器重新指定网桥

docker network connect exceptionless_default  5df5990 

 

 启动容器。

其他 容器也是一样。

完成!

9. 再次查看

docker network inspect e045

 

 网络地址全部更新了,变更为172.30.0.0网段

[root@mestest ~]# docker network inspect e045
[
    {
        "Name": "exceptionless_default",
        "Id": "e0453839f185e0af3c51d76814f33ca738476f0dfc5ffc6aa0b67984da33216d",
        "Created": "2020-06-29T14:49:47.262522248+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.30.0.0/16"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "417785d3375b4c65ae19d28c1d6f0f050379790d66e337bb651e326de0815c3d": {
                "Name": "exceptionless_redis_1",
                "EndpointID": "c601406e9305d948b8b2cc4d54c9dd803ff72b4cda71385711d21b63bd618bcb",
                "MacAddress": "02:42:ac:1e:00:07",
                "IPv4Address": "172.30.0.7/16",
                "IPv6Address": ""
            },
            "5d59901efdd32c3056676ee136601716696f14b89246f09fb38f8ec2787506c1": {
                "Name": "exceptionless_jobs_1",
                "EndpointID": "2071081cfed2976df25bd6c370b77728c8c94067f5ce948898171ddd789351f5",
                "MacAddress": "02:42:ac:1e:00:02",
                "IPv4Address": "172.30.0.2/16",
                "IPv6Address": ""
            },
            "6fb7b3d8e2c0e4c3481d79ce2fe2ebfbaa25700f99a4ac773dd618e18bcc899c": {
                "Name": "exceptionless_ui_1",
                "EndpointID": "03cc9c36ddb6e3b2d01ee4ead37cecfa5bf6fb9e6af8d786f59c8cf2aca7480b",
                "MacAddress": "02:42:ac:1e:00:05",
                "IPv4Address": "172.30.0.5/16",
                "IPv6Address": ""
            },
            "7cc890a58bbde8c8a11a2847d9d2eb607b3b0cdada50dc7af657fa07bf2833bb": {
                "Name": "exceptionless_api_1",
                "EndpointID": "077545729bc30c5bc46ef3dfc3b7eb4cbde5f057993118680839c6c6f6f93698",
                "MacAddress": "02:42:ac:1e:00:04",
                "IPv4Address": "172.30.0.4/16",
                "IPv6Address": ""
            },
            "e8f988bf7bdffb0b20ad687ba99a0cd131a18eb17e290d701d1efb115fa81508": {
                "Name": "exceptionless_elasticsearch_1",
                "EndpointID": "a279b6162816960ec1ce1f5e13bb9f2dbb79853826a11a3e60fc05bd61c6fa90",
                "MacAddress": "02:42:ac:1e:00:06",
                "IPv4Address": "172.30.0.6/16",
                "IPv6Address": ""
            },
            "eebd379c82f33c1f73e6da287e2718874bfd2c12d1e21dc576752d85cf099e01": {
                "Name": "exceptionless_kibana_1",
                "EndpointID": "1ef25857fed2d9f33efac25743bfe4a3d1b8d1aa20d6ddf6ef18ee9531b418d2",
                "MacAddress": "02:42:ac:1e:00:03",
                "IPv4Address": "172.30.0.3/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]
View Code

 

 

备注:

如直接 connect 无效,可考虑先disconnect已经删除了的网络,再connect新建的网络。

1 docker network create -d transparent my-transparent-network2 
2 docker stop mysqltest #需要停止容器后在对network进行操作。
3 docker network disconnect my-transparent-network-1 mysqltest
4 docker network connect my-transparent-network mysqltest

 

 

 

 

 

 

 

 

 

 

 参考:https://www.cnblogs.com/flyelephant/p/docker-windows-container-network-not-found.html

 

posted @ 2020-06-29 15:32  无心々菜  阅读(1666)  评论(0编辑  收藏  举报