为Docker容器指定自定义网段的固定IP/静态IP地址

第一步:创建自定义网络
备注:这里选取了172.172.0.0网段,也可以指定其他任意空闲的网段
docker network create --subnet=172.172.0.0/16 docker-ice
注:docker-ice为自定义网桥的名字,可自己任意取名。

第二步:在你自定义的网段选取任意IP地址作为你要启动的container的静态IP地址
备注:这里在第二步中创建的网段中选取了172.172.0.10作为静态IP地址。这里以启动docker-ice为例。
docker run -d --net docker-ice --ip 172.172.0.10 ubuntu:16.04

其他
备注1:这里是固定IP地址的一个应用场景的延续,仅作记录用,可忽略不看。
备注2:如果需要将指定IP地址的容器出去的请求的源地址改为宿主机上的其他可路由IP地址,可用iptables来实现。比如将静态IP地址 172.18.0.10出去的请求的源地址改成公网IP104.232.36.109(前提是本机存在这个IP地址),可执行如下命令:
iptables -t nat -I POSTROUTING -o eth0 -d  0.0.0.0/0 -s 172.18.0.10  -j SNAT --to-source 104.232.36.109
原文地址:https://www.cnblogs.com/liubin0509/p/6187115.html