升级Docker 18.03.0-ce-win59后jwilder/nginx-proxy无法启动求助
排查jwilder/nginx-proxy容器无法运行的问题
结合你Windows 10环境和Docker版本升级后的情况,我整理了几个常见的排查方向和解决方案,咱们一步步来:
1. 适配Windows环境的Docker Socket映射
在Windows系统中,Docker的/var/run/docker.sock实际上对应主机的//./pipe/docker_engine管道,而你当前的Compose配置用了Linux风格的路径映射,这很可能是容器无法连接Docker服务的核心原因。
修改你的docker-compose.yml中volumes部分:
volumes: - //./pipe/docker_engine:/tmp/docker.sock
2. 查看容器日志定位具体错误
先尝试启动容器,然后查看日志获取精准错误信息,这是排查容器问题的关键步骤:
# 启动容器 docker-compose up -d # 查看容器日志 docker logs proxy-server
如果日志出现permission denied、connection refused这类信息,基本可以确认是Socket映射或权限问题导致的。
3. 适配旧Docker版本的镜像版本
你升级的Docker 18.03.0-ce-win59是2018年的旧版本,而jwilder/nginx-proxy的最新镜像可能对新版本Docker做了适配,反而和旧版本兼容不佳。建议指定一个对旧Docker更友好的镜像版本:
image: jwilder/nginx-proxy:0.7.0
4. 确认自定义网络配置
你的配置中使用了development_network自定义网络,需要确保这个网络已经存在,或者让Docker Compose自动创建它:
# 检查网络是否存在 docker network ls # 强制重新创建容器和网络 docker-compose up -d --force-recreate
5. 检查Windows下的Docker权限设置
在Windows环境中,确保当前用户拥有访问Docker相关资源的权限:
- 右键点击Docker桌面图标,选择
Settings->Shared Drives,确认相关驱动器已勾选并授权 - 尝试以管理员身份启动Docker Desktop,再重新启动容器
内容的提问来源于stack exchange,提问作者Hasan Hafiz Pasha
相关产品推荐
相关产品推荐

