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

如何配置容器内Symfony5 .env的DATABASE_URL连接本地WAMP数据库

解决方案

方案1:使用Docker内置host-gateway动态映射宿主机地址(推荐)

Docker 20.10及以上版本支持host-gateway关键字,可自动映射宿主机动态IP,无需手动调整配置:

  • 调整容器启动命令,新增--add-host参数,自动将host.docker.internal指向宿主机IP:
    docker run -ti --rm=true -p 8000:8000 -v %CD%:/opt/src --add-host host.docker.internal:host-gateway [repo]/base-php74-tools:latest /bin/bash
  • 修改Symfony项目.env文件的数据库连接配置:
    DATABASE_URL="mysql://root:@host.docker.internal:3306/keuken?serverVersion=5.7"
  • 补充两项必要校验:
    • 打开WAMP的MySQL配置文件my.ini,确认bind-address参数设置为0.0.0.0,而非默认的127.0.0.1,否则MySQL仅允许本地访问
    • 检查Windows防火墙设置,新增3306端口的入站规则,放行Docker虚拟网卡网段的访问请求

方案2:固定本地Windows私有IP

如果不想修改容器启动参数,可直接为本地网卡配置静态IP:

  • 打开Windows「网络和共享中心」→ 点击当前使用的网卡 →「属性」→ 选中「Internet 协议版本4(TCP/IPv4)」
  • 手动配置固定IP、子网掩码、网关、DNS信息,配置完成后本地IP不会动态变更,原有基于IP的数据库连接配置可长期使用

方案3:使用Docker Compose简化配置管理

后续如果需要简化启动流程,可新增docker-compose.yml配置文件,将端口映射、卷挂载、host配置等参数统一写入文件,后续只需执行docker-compose up即可启动服务,无需每次输入长命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:36:03