docker容器设置固定ip

测试环境

组件 版本
操作系统 centos7.4
docker CE18.1

需求

需要将容器的ip设置为固定ip

docker的网络类型

docker默认的有三种网络类型,bridge、host和none,可通过如下命令查看

sudo docker network ls
  • bridge:网络桥接
    默认情况下启动、创建容器都是用该模式,所以每次docker容器重启时会按照顺序获取对应ip地址,这就导致容器每次重启,ip都发生变化
  • none:无指定网络
    启动容器时,可以通过–network=none,docker容器不会分配局域网ip
  • host:主机网络
    docker容器的网络会附属在主机上,两者是互通的。

创建固定ip容器

1、创建自定义网络类型,并且指定网段

sudo docker network create --subnet=127.127.0.0/16 staticnet

通过docker network ls可以查看到网络类型中多了一个staticnet

2、使用新的网络类型创建并启动容器

sudo docker run -it --name test --net staticnet --ip 127.127.0.2 centos /bin/bash

3、查看容器ip

docker inspect <containtor_id>

4、测试

将容器停止,并重新启懂,发现容器ip并未发生改变,测试成功。

原文地址:https://www.cnblogs.com/erlou96/p/14578779.html