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

无法通过宿主机浏览器访问自定义网络下Docker容器问题求助

问题排查与修复方案

1. 优先解决phpmyadmin启动报错

standard_init_linux.go:228: exec user process caused: exec format error属于典型的镜像架构与宿主机架构不匹配问题,常见于ARM架构设备(苹果硅Mac、树莓派、ARM服务器)拉取了仅支持AMD64架构的镜像,或反向场景。
修复方式:

  • 在docker-compose的phpmyadmin服务配置段添加platform字段,指定与宿主机匹配的架构,示例:
    services:
      phpmyadmin:
        image: 你使用的phpmyadmin镜像名
        platform: linux/amd64 # 宿主机为AMD64架构用这个,ARM64则替换为linux/arm64
        # 其余原有配置保留
    
  • 重新拉取对应架构的镜像并启动容器即可解决该报错。

2. 排查localhost:20000连接拒绝问题

2.1 校验端口映射配置

  • 先执行docker port <WordPress容器ID/容器名>确认端口映射结果,若输出中无0.0.0.0:20000->80/tcp(假设WordPress容器内端口为80)类似条目,说明docker-compose中ports配置错误。
  • 修正docker-compose中WordPress服务的ports配置,确保绑定到所有IPv4接口:
    services:
      wordpress:
        # 其余原有配置保留
        ports:
          - "0.0.0.0:20000:80" # 不要省略前面的0.0.0.0,避免默认绑定到IPv6地址导致IPv4 localhost访问失败
    

2.2 排查宿主机端口占用

执行ss -tulpn | grep 20000检查宿主机20000端口是否被其他进程占用,若存在占用可修改映射的宿主机端口为其他未占用端口。

2.3 验证容器内部服务可用性

直接用容器IP访问WordPress内部端口验证服务是否正常:

curl http://<WordPress容器IP>:80

若可正常返回内容,说明问题仅出在端口映射环节;若仍访问失败/超时,继续排查自定义网络问题。

3. 修复自定义网络下WordPress响应慢问题

该问题绝大多数由自定义Docker网络MTU与宿主机物理网卡MTU不匹配导致,会引发网络丢包、传输慢甚至连接中断。
修复方式:

  • 先执行ip addr查看宿主机物理网卡的MTU值,常见为1500,PPPoE拨号网络一般为1492。
  • 在docker-compose的网络配置段添加MTU匹配配置:
    networks:
      network_1:
        driver: bridge
        driver_opts:
          com.docker.network.driver.mtu: 1492 # 替换为你宿主机物理网卡的实际MTU值
    

4. 最终验证

所有配置修改完成后,执行docker-compose down && docker-compose up -d重建容器,再用docker ps确认容器正常运行,访问localhost:20000即可正常打开WordPress页面。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:09:06