更改docker容器的IP地址

use*_*829 9 networking docker

当我启动docker容器时,我的网络是10.0.0.0,它们有一组不同的IP地址(172.17.42.1)

如何让我的容器在同一个10.0.0.0网络上启动

我已经配置了br0并且它是静态的,我希望docker0共享相同的ip范围,以便它将ip地址分配给同一网络上的容器

bey*_*rem 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
Run Code Online (Sandbox Code Playgroud)

并重新启动界面,或重新启动PC.

ifdown docker0
ifup docker0
Run Code Online (Sandbox Code Playgroud)


jan*_*cki 5

已经接受答案并不是一个真正的答案,只是一个链接.所以我会提供适合我的解决方案.需要注意的是,解决方案可能会被docker upgrade覆盖.系统会询问您是否在升级软件包时更换docker配置.配置路径从Ubuntu 15.10开始有效.

sudo vim /etc/default/docker
Run Code Online (Sandbox Code Playgroud)

将此行添加到文件中

DOCKER_OPTS="--bip=10.66.33.10/24"
Run Code Online (Sandbox Code Playgroud)

然后在重启
后启动容器重启

docker run -it --name t2 jangorecki/r-base-dev /bin/bash
Run Code Online (Sandbox Code Playgroud)

并检查容器的IP

docker inspect --format '{{ .NetworkSettings.IPAddress }}' t2
Run Code Online (Sandbox Code Playgroud)