【问题标题】:How to change the subnet and the IP address of a docker container?如何更改 docker 容器的子网和 IP 地址?
【发布时间】:2019-01-19 18:40:41
【问题描述】:

我有一个使用 docker-compose 在主机上运行创建的 docker 容器。

获取的docker容器有自己的网络:

docker exec -it containername /bin/bash

root@4913fd78f383:/# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
155: eth0@if156: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:14:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.20.0.2/16 brd 172.20.255.255 scope global eth0
       valid_lft forever preferred_lft forever

所以,容器占用了宿主机中的IP 172.20.0.2/16。

我的问题是这样我的主机无法连接到网络中真正的 172.20.x.y 主机,主机连接的地方。

所以,容器(有自己的 ip)隐藏了其他真实地址。

我需要更改现有容器的 IP 地址,可能不需要删除/重新创建它。

我已经使用 docker compose 创建了我的容器,所以我使用这些命令来运行/停止容器:

docker start containername
docker stop containername

提前致谢。

【问题讨论】:

    标签: docker docker-compose docker-networking docker-network


    【解决方案1】:

    一般来说你有两种选择:

    1. 使用泊坞窗。使用自定义子网创建一个网络,然后从 docker-compose 加入该网络。 for more details

    2. 使用 docker-compose。定义网络设置。 for more details

    具体而言,您必须执行以下操作:

    1. 使用 docker cli 创建网络。
        docker network create -d bridge --subnet 172.25.0.0/16 my_custom_network
    
    1. 让容器加入网络
        docker network connect my_custom_network my_running_container
    
    1. 从旧网络中删除容器

    您可以使用docker inspect my_running_container获取旧网络的名称

        docker network disconnect old_network my_running_container
    
    1. 删除 docker-compose 创建的不需要的网络。
        docker network rm old_network
    
    1. 重新配置 docker-compose.yml 以使用新网络,以便在有人再次使用 docker-compose up 时保持相同的设置。

    有关上述选项的更多详细信息,请查看Work with Networks

    请注意,您还可以按照here 中的说明配置默认 docker0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      • 2019-04-14
      • 2018-06-13
      • 2013-10-22
      • 1970-01-01
      相关资源
      最近更新 更多