docker 指定容器IP

docker的网络模式

docker 总共有四种网络模式, 分别是

  1. host 模式
  2. bridge 模式
  3. none 模式
  4. container 模式

关于docker的网络模式, 在这篇文章中有非常详尽的说明, 就不赘述了. 理解Docker的网络模式

为什么需要指定容器IP

实际部署中, 我们需要指定IP, 避免IP混乱

如何实现指定容器IP

docker的bridge(docker0)网络, 在docker安装时就已经创建好了, 不支持指定容器IP, 所以我们需要再创建一个docker的bridge网络(bridge1), 为其指定子网, 使其支持指定容器IP, 接下来将通过命令演示的方式创建一个支持指定IP的docker bridge网络.

创建一个驱动为bridge的网络, 命名为newbridge

docker network create --driver bridge --subnet 172.16.12.0/16 --gateway 172.16.1.1 newbridge
创建网络

查看刚刚创建的网络

docker network ls
查看

创建容器测试

docker run -itd -h test --name test --network newbridge --ip 172.16.12.3 ubuntu

验证容器的ip

此命令为查看所有容器ip命令

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

验证容器ip
可以看到容器的ip已经是刚才我们创建容器时指定的ip了. 大功告成.

引用说明

文中操作学习自 Docker 创建容器时指定容器ip