当我启动 docker 容器时,我的网络位于 10.0.0.0,它们具有一组不同的 IP 地址 (172.17.42.1)
如何让我的容器在同一个 10.0.0.0 网络上启动
我已经配置了 br0 并将其设置为静态,我希望 docker0 共享相同的 IP 范围,以便它为同一网络上的容器分配 IP 地址
我希望这个链接能帮助你 http://jpetazzo.github.io/2013/10/16/configure-docker-bridge-network/
简而言之,只需在 /etc/network/interfaces 添加以下内容:
auto docker0
iface docker0 inet static
address 172.30.0.1
netmask 255.255.255.0
bridge_ports dummy0
bridge_stp off
bridge_fd 0
并重启界面,或者重启电脑。
ifdown docker0
ifup docker0
已接受答案并不是真正的答案,而只是一个链接。所以我将提供适合我的解决方案。需要注意的是,该解决方案可能会被 docker 升级覆盖。系统应该询问您有关在升级包上替换 docker 配置的问题。 配置路径从 Ubuntu 15.10 起有效。
sudo vim /etc/default/docker
将此行添加到文件中
DOCKER_OPTS="--bip=10.66.33.10/24"
然后重启
重启后启动容器
docker run -it --name t2 jangorecki/r-base-dev /bin/bash
并检查容器的IP
docker inspect --format '{{ .NetworkSettings.IPAddress }}' t2
在我的 Centos 容器上我这样做:
docker exec -it c1 bash -c "echo -e 'IPADDR=172.17.0.4 \n HOSTNAME=c1' >> /etc/sysconfig/network-scripts/ifcfg-eth0; /etc/init.d/network restart";
标记为解决方案的答案假设容器是某个发行版(基于 debian/ubuntu),并且在其中安装了很多网络工具,所以我更好地测试了自己并且正在工作: