docker 创建容器时指定容器ip

一、背景

Docker创建容器时默认采用bridge网络,自行分配ip,不允许自己指定。在实际部署中,我们需要指定容器ip,不允许其自行分配ip,特别是集群。

二、方法

我们可以创建自己的bridge网络 : bridge-dp,创建容器的时候指定网络为bridge-dp并指定ip即可。

  • 1 、查看网络模式
docker network ls
  • 2、创建一个新的bridge网络
docker network create --driver bridge --subnet=192.168.103.1/24 --gateway=192.168.103.1 bridge-dp

  • 3、查看网络信息
docker network inspect bridge-dp

配置完成后的信息

  • 4、docker-compose.yml配置
    配置完成后,可以使用
    在这里插入图片描述

  • 5、启动报错

如果启动报错,可以考虑是否是没有开启转发,网桥配置完后,需要开启转发,不然容器启动后,就会没有网络,配置/etc/sysctl.conf,添加net.ipv4.ip_forward=1
在这里插入图片描述

重启服务,让配置生效

systemctl restart network

查看是否成功,如果返回为“net.ipv4.ip_forward = 1”则表示成功

sysctl net.ipv4.ip_forward
  • 6、查看docker所有容器的IP
 docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

可以在 ~/.bashrc 中写一个 bash 函数:

function docker_ip() {
 sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $1
}
function dockeriplist() {
 sudo docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
}

查看单个容器IP

docker_ip  Container_ID

查看所有容器IP

dockeriplist

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值