【随笔记】Docker 容器设置固定IP

Docker 容器设置固定IP

学习docker随笔记,之前创建好的容器会有一个桥接的IP,这个IP是随机分配的,不能指定一个固定的IP;

例如:

docker run -itd --network bridge --ip 172.16.1.10 centos7jdk:1.0 /bin/bash

通过--ip命令去设置一个指定的IP,但是会提示失败,错误信息如下:

9b622f47f2a47a49ca90465ec3c05414ce416b45c681fd521ebd066e8589d969
docker: Error response from daemon: user specified IP address is supported on user defined networks only.

查看Docker的默认网络

docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
52d1907330b9   bridge    bridge    local
784321d57807   host      host      local
eeea160d2ac5   none      null      local

这时会返回三个网络,分别是bridge、host、none

1.bridge:桥接网络,docker启动容器默认使用的就是bridge,每次Docker容器重启时,会按照顺序获取IP地址,所以这个IP地址在docker重启后就变了。

2.host:主机网络:可以使用--network=host进行指定,指定后这个容器的网络会附属在主机上,也就是公用一个IP,端口;比如容器内使用了443端口,那么主机的443也会映射到容器上。

3.none:无指定网络,也是使用--network=none进行指定,一旦进行指定,docker容器不会分配局域网IP。

创建一个自定义的网络

这个网络可以自定义IP,同时也可以指派固定IP给docker容器。

1.创建一个自定义的网络:

创建并指定要一个网段:172.16.0.1/16

输入一下命令:

docker network create --subnet=172.16.0.1/16 testnetwork

得到一下串,说明创建成功

77830cd002cee4d3ae1f8c4387575e2ae5a093d60de1f7f2d18c0b4fad9584b8

查看docker下的网络列表

docker network ls

列表如下:

NETWORK ID     NAME          DRIVER    SCOPE
52d1907330b9   bridge        bridge    local
784321d57807   host          host      local
eeea160d2ac5   none          null      local
77830cd002ce   testnetwork   bridge    local

2.创建指定网络的容器

docker run -itd --network testnetwork --ip 172.16.1.10 centos7jdk:1.0 /bin/bash

进入容器,查询容器IP

如果没有相关查询IP的命令,可以yum install initscripts进行安装,在使用ip addr命令

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
8: eth0@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:10:01:0a brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.16.1.10/16 brd 172.16.255.255 scope global eth0
       valid_lft forever preferred_lft forever

可以看到这时的IP已经是我们指定的了。可以关闭容器再次进入查看IP是否有变化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值