Docker 容器设置固定 IP

Docker 设定一个固定的 IP 地址方便日常维护使用,跟着下面的步骤操作可以轻松创建网络并分配固定 IP 。

前言

Docker 安装后,默认会创建三种网络类型,bridge、host和none,可通过如下命令查看:

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

步骤

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

sudo docker network create --subnet=192.168.1.0/24 mynet

注意:192.168.1.0/24 是 CIDR 无类别域间路由,翻译过来的意思是:

可用 IP 数量:254
网络:192.168.1.0
子网掩码:255.255.255.0
第一可用:192.168.1.1
最后可用:192.168.1.254
广播地址:192.168.1.255

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

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

sudo docker run -it --name ubuntu --net mynet --ip 192.168.1.2 ubuntu /bin/bash

注意:分配容器 IP 要从 192.168.1.2 开始分配,可以分配到 192.168.1.254。不能从 192.168.1.1 开始分配,因为 192.168.1.1 是宿主机也是所有该网段下容器的网关。

通过指令 docker inspect 可以查看容器 IP 为 192.168.1.2,关闭容器并重启,发现容器 IP 并未发生改变。

后语

Docker 在不创建自定义网络的情况下是无法分配固定 IP 的。

给TA买糖
共{{data.count}}人
人已赞赏
Docker教程

彻底解决 CentOS 8 系统下 Docker 容器无法解析域名问题

2020-9-22 1:23:37

Docker教程

在 VPS 主机上构建 Docker 容器 arm 、arm64 、amd64 等多平台容器镜像跨平台构建

2020-10-8 20:46:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索