0

我指的是Docker Networking#docker0用于docker0在 Docker 中自定义虚拟网桥。

我的ifconfig节目是这样的:

docker0   Link encap:Ethernet  HWaddr d6:0d:76:37:ee:04  
          inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::d40d:76ff:fe37:ee04/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

eth0      Link encap:Ethernet  HWaddr 08:00:27:51:e4:40  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe51:e440/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:947 errors:0 dropped:0 overruns:0 frame:0
          TX packets:618 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:86885 (86.8 KB)  TX bytes:71855 (71.8 KB)

我想给10.0.2.15/24接口范围docker0

注意:我假设如果我docker0使用与容器相同的 IP 范围进行自定义,eth0那么容器应该从相同的范围获取 IP。(如果我假设错误,请纠正我)。

为此,我尝试添加文件--fixed-cidr=10.0.2.15/24/etc/default/docker但它现在正在工作。

知道如何实现吗?

另外,如果我遵循错误的方式,请指导我如何以正确的方式实现它。

4

3 回答 3

0

与其更改 docker0 接口的 ip-range,不如考虑一下您希望对外部可用的内容。

如果您希望某些端口链接到您的应用程序并从外部可用,请查看 -p 标志。

docker run -p IP:host_port:container_port

查看网络配置文档http://docs.docker.com/articles/networking/

本文档还解释了如何更改 docker0 接口的 ip-range。但是,我认为还有其他更好,更简单的方法可以实现您想要的。

(你能顺便解释一下你想要什么吗?)

于 2015-07-13T15:30:28.237 回答
0

您正在尝试做的是与网络自杀接壤...如果docker允许您将外部NIC-IP(eth0)分配给内部桥接接口(docker0),您的系统将有两个接口在相同的路由上工作但不同接口后面的网络。试想一个在城市工作的邮递员,某个天才给所有街道起相同的名字,他们都从 1 开始数数字。他能投递任何邮件吗?;)

我假设您想要实现的是,能够从“外部”网络连接到正在运行的 docker 容器。在这种情况下,只需添加
-p port_on_host:port_inside_container
到您的
docker run-command,您的 docker-content 就可以通过您的主机 IP 对外部世界可用(如果您的防火墙设置正确)

干杯 D

于 2015-07-15T14:02:53.493 回答
0

我认为您应该删除 docker0 网桥并通过提供自己的子网来创建 docker0 网桥。有关更多实用视图和图像,请访问: https: //support.zenoss.com/hc/en-us/articles/203582809-How-to-Change-the-Default-Docker-Subnet

于 2017-02-17T09:42:04.330 回答