目 录CONTENT

文章目录

创建docker 容器的时候指定IP

酷谷的谷子
2025-08-21 / 0 评论 / 0 点赞 / 2 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

给豆包的问题:docker 在创建容器的时候怎么指定一个IP 比如172.17.0.3这个是172.17.0.3分配我想把这个IP变成固定的

首先创建一个自定义网络,指定子网和网关:

docker network create --driver bridge --subnet 172.66.0.0/16 --gateway 172.66.0.1 mynetwork

然后在创建容器时,通过 --network 和 --ip 参数指定网络和固定 IP:

docker run -d --name mycontainer --network mynetwork --ip 172.66.0.3 [镜像名称]

这样创建的容器就会拥有固定的 IP 地址 172.17.0.3。

到这里我还看不懂接着给豆包提问:

docker network create --driver bridge --subnet 172.17.0.0/16 --gateway 172.17.0.1 mynetwork这个是什么意思 mynetwork是网络名称?是不是基于bridge的模式

是的,你理解得没错。这条命令的含义如下:

  1. docker network create:创建一个新的 Docker 网络

  2. --driver bridge:指定网络驱动为 bridge 模式(桥接模式),这是 Docker 默认的网络模式

  3. --subnet 172.17.0.0/16:指定该网络的子网范围为 172.17.0.0/16,意味着该网络可以分配 172.17.x.x 范围内的 IP 地址

  4. --gateway 172.17.0.1:指定该网络的网关地址为 172.17.0.1

  5. mynetwork:这是你为这个网络指定的名称,可以根据需要自定义(比如改成 app-network、my-bridge 等)

所以这个命令创建了一个名为mynetwork的桥接模式网络,使用 172.17.0.0/16 网段,网关为 172.17.0.1。

后续创建容器时,只要指定--network mynetwork并通过--ip参数指定该网段内的 IP,就能实现容器 IP 的固定分配。

到这里实际当中我就不能使用这个IP防止其奇奇怪怪的问题 必须排除这个IP端 比如使用 172.66.0.0 172.66.0.1

我简单理解就是 172.66.0.2 到172.66.0.254

使用AI技巧你需要让AI解决什么样的问题,这个根你的知识储备也有关

我怎么知道哪些IP被使用了比如 172.17.0.3是否被使用了

要查看 Docker 网络中已分配的 IP 地址(包括检查 172.17.0.3 是否被使用),可以通过以下几种方法:

方法 1:查看网络详情中所有容器的 IP

使用 docker network inspect 命令查看指定网络的详细信息,其中会列出该网络中所有容器的 IP 分配情况:

# 替换为你的网络名称(比如前面创建的 mynetwork)
docker network inspect mynetwork

在输出结果中,找到 Containers 部分,会显示该网络中所有容器的信息,包括每个容器的 IPv4Address(即分配的 IP 地址)。

例如,若 172.17.0.3 已被使用,会类似这样显示:

"Containers": {
  "容器ID": {
    "Name": "容器名称",
    "IPv4Address": "172.17.0.3/16",
    ...
  },
  ...
}

方法 2:通过 ping 命令简单验证

如果只是想快速检查某个 IP 是否被使用,可以直接 ping 该 IP(需确保主机能与容器网络通信):

ping 172.17.0.3

  • 如果能 ping 通,说明该 IP 已被某个容器占用

  • 如果 ping 不通,可能未被使用(但需排除除容器防火墙限制的情况)

通过以上方法,就能确定 172.17.0.3 是否已被分配给某个容器了。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区