【问题标题】:How to change Docker IP address on Centos 7?如何在 Centos 7 上更改 Docker IP 地址?
【发布时间】:2017-12-30 07:59:23
【问题描述】:

我在 Centos 7 上安装了 Docker。下面是 ifconfig 命令的输出

# ifconfig

docker0: flags=4099 mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
ether 02:42:ea:cd:a1:19 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ens33: flags=4163 mtu 1500
inet 192.168.149.5 netmask 255.255.255.0 broadcast 192.168.149.255
inet6 fe80::c494:6514:b641:e046 prefixlen 64 scopeid 0x20
ether 00:0c:29:57:00:09 txqueuelen 1000 (Ethernet)
RX packets 42800 bytes 26241065 (25.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 31687 bytes 4228571 (4.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
RX packets 302 bytes 29477 (28.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 302 bytes 29477 (28.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr0: flags=4099 mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:ce:2f:27 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

我尝试将docker0的IP地址172.17.0.1改为192.168.149.5,即ens33的IP地址。我搜索了很多参考网站,但我无法做到。 CentOS 7如何设置docker0的ip地址?

【问题讨论】:

    标签: docker centos7 docker-container


    【解决方案1】:

    首先,docker配置文件的位置取决于docker版本。如果您使用了一些较新的 docker,它的配置将在 /etc/docker/daemon.json 中。 将如下代码放入配置文件并重启docker daemon,docker bridge的IP就会更新。

    {
      "bip": "192.168.1.1/24"
    }
    

    希望有所帮助。

    Control and configure Docker with systemd

    Daemon configuration file

    【讨论】:

    • 感谢您的回复。我的centos 7上的docker版本是“Docker version 1.12.6, build 3a094bd/1.12.6” 但是,我恐怕找不到/etc/docker/daemon.json文件。是否有其他配置文件可以更改 bip 地址?
    • 你可以新建一个配置文件,然后重启docker daemon。
    【解决方案2】:

    这是我更改 docker 容器 ip 地址的过程。

    1. systemctl stop docker 
    
    2. ip link set dev docker0 down 
    
    3. ip addr del 172.17.0.1/16 dev docker0
    
    4. ip addr add 192.168.149.5/24 dev docker0
    
    5. ip link set dev docker0 up
    
    6. iptables -t nat -L -n
       iptables -t nat -F POSTROUTING
    
    7. echo 'DOCKER_OPTS="--bip 192.168.149.5/24"' >> /etc/default/docker
    

    问题是没有这样的文件(/etc/default/docker)。我生成了docker文件,但它不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 2015-03-12
      • 2018-06-13
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      相关资源
      最近更新 更多