You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Docker宿主机访问同一容器的多个实例

解决Docker多实例通过不同IP访问的方案

方案一:利用宿主机多IP绑定端口转发

如果你的宿主机有多个可用IP(比如网卡绑定了多个静态IP),可以在启动容器时指定将容器的8080端口映射到宿主机不同IP的8080端口上:

  • 启动第一个实例:docker run -d -p 192.168.1.10:8080:8080 your-image-name
  • 启动第二个实例:docker run -d -p 192.168.1.11:8080:8080 your-image-name
  • 启动第三个实例:docker run -d -p 192.168.1.12:8080:8080 your-image-name

之后你就可以分别通过192.168.1.10:8080、192.168.1.11:8080、192.168.1.12:8080访问三个不同的容器实例。

方案二:给容器分配固定IP(自定义Docker网络)

通过创建自定义Docker网络,给每个容器分配专属的固定IP,宿主机直接通过这些IP访问容器的内部8080端口:

  1. 创建自定义子网网络:
    docker network create --subnet=172.20.0.0/16 my-app-net
    (子网地址可根据你的网络环境调整,避免和现有网段冲突)

  2. 启动容器时指定固定IP:

  • 第一个实例:docker run -d --net my-app-net --ip 172.20.0.2 your-image-name
  • 第二个实例:docker run -d --net my-app-net --ip 172.20.0.3 your-image-name
  • 第三个实例:docker run -d --net my-app-net --ip 172.20.0.4 your-image-name

完成后,你可以在宿主机直接访问172.20.0.2:8080、172.20.0.3:8080、172.20.0.4:8080来分别对应三个容器实例。

注意事项

  • 方案一中,宿主机的多IP需要提前配置好(比如通过网卡绑定额外IP)。
  • 方案二中,自定义网络的子网要确保和宿主机及其他网络无冲突,且Docker默认会自动维护宿主机到自定义网络容器的路由,无需额外配置。

内容的提问来源于stack exchange,提问作者Zeevac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 22:09:34