当我启动docker容器时,我的网络位于10.0.0.0,它们有一组不同的IP地址(172.17.42.1)
如何让我的容器在同一个10.0.0.0网络上启动
我已经配置了br0并且它是静态的,我希望docker0共享相同的ip范围,以便它将ip地址分配给同一网络上的容器
答案 0 :(得分:7)
我希望这个链接可以帮到你 的 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
然后重新启动界面,或重新启动PC。
ifdown docker0
ifup docker0
答案 1 :(得分:5)
已经接受回答并不是一个真正的答案,只是一个链接。所以我会提供适合我的解决方案。需要注意的是,解决方案可能会被docker upgrade覆盖。系统会询问您是否在升级软件包时更换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
答案 2 :(得分:1)
在我的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";
答案 3 :(得分:0)
真正的答案是对此的答案:...并且正在工作,自我测试
How to change the IP address of a docker after creating it?
还将答案标记为解决方案假设容器是某个发行版(基于debian / ubuntu),并且其中安装了很多网络工具! 假设是所有... -ups
的母亲