Docker静态IP设置

文章目录
  1. 1. 前言
  2. 2. 创建自定义网络
  3. 3. 设置静态IP
  4. 4. 查看容器ip
  5. 5. 关闭容器
  6. 6. 书签

前言

Docker容器运行的时候默认会自动分配一个默认网桥所在网段的IP地址。但很多时候我们可能需要让容器运行在预先指定的静态IP地址上,因为早期的版本不支持静态IP,因此网上大部分方法都是借助pipework等去实现,然而在最新的版本中,Docker已经内嵌支持在启动时指定静态IP了。

Docker守护进程启动以后会创建默认网桥docker0,其IP网段通常为172.17.0.1。在启动Container的时候,Docker将从这个网段自动分配一个IP地址作为容器的IP地址。最新版(1.10.3)的Docker内嵌支持在启动容器的时候为其指定静态的IP地址。

创建自定义网络

选取了192.168.34.0网段,也可以指定其他任意空闲的网段。

1
docker network create --subnet=192.168.34.0/24 voidkingnet

注:voidkingnet为自定义网桥的名字,可自己任意取名。

查看所有docker网段:

1
docker network ls

设置静态IP

在创建的网段中选取了192.168.34.10作为静态IP地址。这里以启动learn/ping为例。

1
docker run -d -p 2001:2001 --net voidkingnet --ip 192.168.34.10 learn/ping ping www.baidu.com

查看容器ip

方法一:

1
docker inspect $(docker ps -q) | grep IPAddress

方法二:

1
docker inspect --format='{{.NetworkSettings.IPAddress}}' $(docker ps -q)

关闭容器

方法一:

1
docker stop $(docker ps -q)

关闭所有容器。

方法二:

1
2
docker ps
docker stop 3e2efd019b9a

查询容器id,关闭指定id的容器。

书签

为Docker容器指定自定义网段的固定IP/静态IP地址
http://blog.csdn.net/gobitan/article/details/51104362