看你上传的截图和文档,问题已经很清楚了。你的容器名叫 xfyun-nginx,而且你修改了 docker-compose.yml 里的端口映射,但 restart 不生效。

restart 只是重启容器进程,不会重新读取 yml 文件的配置变更。端口映射属于容器的基础配置,必须重建容器才能生效。


推荐做法:一步重建(最简洁)

docker compose -f docker-compose.yml up -d --force-recreate nginx
  • --force-recreate:强制重建容器,应用新端口配置
  • nginx:只操作 nginx 服务,不影响其他服务

稳妥做法:先停后建(和你文档里一样)

如果你担心一步重建有问题,可以分三步执行:

第一步:停止 nginx

docker compose -f docker-compose.yml stop nginx

第二步:删除旧容器

docker compose -f docker-compose.yml rm -f nginx

第三步:用新配置启动

docker compose -f docker-compose.yml up -d nginx

先确认文件名

如果你的配置文件不叫 docker-compose.yml,先查一下:

ls

然后把上面命令里的 docker-compose.yml 换成你实际的文件名(比如 docker-compose-prod.yml)。


验证端口是否生效

执行完后检查:

docker compose ps nginx

或者:

docker port xfyun-nginx

应该能看到你新配置的 1001320012-20020 端口已经映射上了。

更多推荐