在 Docker 中,你有两种方法可以解决这个问题:
使用静态 IP:
可以在创建容器时为其分配一个静态 IP 地址。首先,你需要创建一个自定义网络,并指定一个子网。然后,你可以在运行容器时指定这个网络,并使用 -ip
选项来分配一个 IP 地址。例如:
docker network create --subnet=172.20.0.0/16 mynetwork
docker run --net mynetwork --ip 172.20.0.10 -d my_container
在这个例子中,mynetwork
是你创建的网络的名称,172.20.0.10
是你想要分配给容器的 IP 地址,my_container
是你的容器的名称⁶⁷⁸⁹。
使用容器名称:
在 Docker 的自定义网络中,你可以使用容器的名称来访问容器,而不需要知道容器的 IP 地址。这是因为 Docker 的内置 DNS 解析器允许容器通过容器名称相互解析。例如,如果你有一个名为 cf
的容器和一个名为 adguardhome
的容器,它们都在同一个网络中,那么 cf
容器可以通过访问 http://adguardhome:port
来访问 adguardhome
容器,其中 port
是 adguardhome
容器的端口号¹²⁵。
欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。