我的网络地址为10.0.0.0,但当我启动docker容器时,它们会有不同的IP地址(172.17.42.1)。
如何使我的容器在相同的10.0.0.0网络上启动?
我已经配置了静态的br0,并希望docker0共享相同的IP地址范围,这样它就可以在相同的网络上为容器分配IP地址。
如何使我的容器在相同的10.0.0.0网络上启动?
我已经配置了静态的br0,并希望docker0共享相同的IP地址范围,这样它就可以在相同的网络上为容器分配IP地址。
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),并且已经安装了许多网络工具!这种假设是所有错误的根源...