加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

更改docker自定义网络的默认子网

发布时间:2020-12-16 03:49:12 所属栏目:安全 来源:网络整理
导读:我们的内部网络具有为内部用途保留的范围172.20.0.0/16,并且docker默认使用172范围用于其内部网络.我可以通过为守护进程提供bip设置来重置桥接器以生存在192.168中: ? ~ sudo cat /etc/docker/daemon.json{ "bip": "192.168.2.1/24"}? ~ ifconfig docker0:

我们的内部网络具有为内部用途保留的范围172.20.0.0/16,并且docker默认使用172范围用于其内部网络.我可以通过为守护进程提供bip设置来重置桥接器以生存在192.168中:

?  ~ sudo cat /etc/docker/daemon.json
{
  "bip": "192.168.2.1/24"
}

?  ~ ifconfig                        
docker0: flags=4099

但是,当通过docker network创建新的自定义网络时,或者通过在docker-compose.yaml的网络部分中定义它们,这些仍然在172中创建,因此最终与172.20冲突:

?  ~ docker network create foo
610fd0b7ccde621f87d40f8bcbed1699b22788b70a75223264bb14f7e63f5a87
?  ~ docker network inspect foo | grep Subnet
                "Subnet": "172.17.0.0/16",?  ~ docker network create foo1              
d897eab31b2c558517df7fb096fab4af9a4282c286fc9b6bb022be7382d8b4e7
?  ~ docker network inspect foo1 | grep Subnet
                "Subnet": "172.18.0.0/16",

我知道我可以为docker network create提供子网值,但我更希望在192.168.*下创建所有这些子网.

如何配置dockerd自动执行此操作?

最佳答案
对于发现此问题的任何人.现在有可能.

$docker -v
Docker version 18.06.0-ce,build 0ffa825

编辑或创建docker守护程序的配置文件:

# nano /etc/docker/daemon.json

添加行:

{
  "default-address-pools":
  [
    {"base":"10.10.0.0/16","size":24}
  ]
}

重启dockerd:

# service docker restart

检查结果:

$docker network create foo
$docker network inspect foo | grep Subnet
                    "Subnet": "10.10.1.0/24"

它也适用于docker-compose.

你的“bip”:“192.168.2.1/24”仅适用于bridge0.这意味着任何没有–network运行的容器都将使用此默认网络.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读