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

Windows 11下Docker外部端口映射失败,DummyService无法访问求助

问题修复建议

核心问题:容器启动命令被覆盖

你的Docker Compose配置中,dummyservice服务的command字段会覆盖Dockerfile里定义的CMD指令。当前容器启动后只会执行composer install --ignore-platform-reqs,执行完成后容器就会退出,根本没有启动Laravel的内置服务器,所以外部无法通过8020端口访问服务。

修复步骤

1. 调整Docker Compose的command配置

将dummyservice的command改为启动服务的复合命令,或者直接移除该字段(让容器使用Dockerfile里的CMD):

services:
  dummyservice:
    # ... 其他配置保持不变
    command: >
      sh -c "composer install --ignore-platform-reqs && php artisan serve --host=0.0.0.0"
    # 若镜像构建时已完成依赖安装,也可直接删除command字段,依赖Dockerfile的CMD启动服务

2. 验证容器运行状态

执行以下命令检查容器是否持续运行:

docker-compose ps

若dummyservice状态显示Up,说明服务正常运行;若为Exited,则需重新检查command配置。

3. 确认端口映射生效

执行以下命令查看容器端口绑定情况:

docker-compose port dummyservice 8000

正常输出应为0.0.0.0:8020或[::]:8020,表示端口映射已生效。

4. 排查容器内部服务状态

进入容器内部,验证Laravel服务是否正常启动:

docker-compose exec dummyservice curl http://localhost:8000

若能返回Laravel默认页面,说明容器内服务正常,问题出在外部网络访问;若不能,则需检查Laravel项目配置是否正确。

5. 确认外部网络存在

执行docker network ls查看列表中是否存在dummynetwork,若不存在则创建:

docker network create dummynetwork

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 07:27:36