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

Windows主机下多Linux Docker容器组网最简方案咨询

最简解决方案:Windows下Docker多容器互通+本地主机访问配置

核心思路

用Docker自定义桥接网络实现容器间的可靠互通,同时给web容器配置仅绑定本地回环地址的端口映射,既满足Windows主机浏览器访问需求,又避免外部主机连接容器。


分步配置(命令行方式)

  1. 创建自定义隔离网络
docker network create dev-network

自定义桥接网络自带容器名DNS解析,容器加入后可直接通过名称互相访问,比默认bridge网络更稳定,完全适配Windows WSL2后端环境。

  1. 启动Redis容器(仅内部访问)
docker run -d --name redis --network dev-network redis:latest

无需映射端口,仅允许同一网络内的web容器访问。

  1. 启动MySQL容器(仅内部访问)
docker run -d --name mysql --network dev-network -e MYSQL_ROOT_PASSWORD=dev_pass mysql:latest

设置数据库密码,同样不对外暴露端口,仅内部容器可访问。

  1. 启动Web容器(绑定本地端口)
docker run -d --name web --network dev-network -p 127.0.0.1:80:80 -p 127.0.0.1:443:443 your-web-image:latest
  • 127.0.0.1: 是关键配置,确保仅Windows本机能通过localhost:80/localhost:443访问web服务,外部主机无法连接这些端口。
  • 替换your-web-image:latest为你的web应用镜像。

更简洁的Docker Compose方案(推荐开发环境)

创建docker-compose.yml文件:

version: '3.8'
services:
  redis:
    image: redis:latest
    networks:
      - dev-network

  mysql:
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: dev_pass
    networks:
      - dev-network

  web:
    image: your-web-image:latest
    ports:
      - "127.0.0.1:80:80"
      - "127.0.0.1:443:443"
    networks:
      - dev-network

networks:
  dev-network:
    driver: bridge

启动所有容器:

docker-compose up -d

验证配置

  1. 容器间互通:进入web容器,执行ping redis或mysql -h mysql -u root -p,确认能正常连接Redis和MySQL。
  2. 主机访问:打开Windows浏览器,访问http://localhost或https://localhost,验证web服务可正常访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 07:56:05