Docker网络冲突后配置daemon.json启动OpenProject容器报错求助
解决Docker容器启动提示旧网络ID找不到的问题
问题原因
删除旧网络并重启Docker后,原有网络ID已失效,但Docker Compose缓存了之前的网络关联信息,导致启动时仍尝试调用已不存在的旧网络ID。
解决方案
步骤1:清理Compose缓存状态
彻底停止并清理Compose管理的容器、自动创建的网络(不会删除外部proxy网络):
docker-compose down --remove-orphans
如果需要保留数据卷,无需额外加参数(默认不会删除卷);若之前卷存在异常,可添加-v参数清理后重新初始化。
步骤2:确认外部proxy网络状态
验证proxy网络的配置是否符合预期,确认daemon.json的自定义地址池已生效:
docker network inspect proxy
检查输出里的Subnet字段,确认其在10.0.2.0/18地址池范围内。
步骤3:重新启动容器
重新启动Compose服务,它会自动关联现有proxy网络,并重新创建所需的frontend/backend网络:
docker-compose up -d
额外排查点
- 检查
docker-compose.yml中proxy网络的缩进是否正确,确保external: true与proxy处于同一层级:networks: frontend: backend: proxy: external: true - 若仍报错,手动删除Compose自动创建的frontend/backend网络后再重启:
docker network rm compose_frontend compose_backend docker-compose up -d
内容的提问来源于stack exchange,提问作者sada
相关产品推荐
相关产品推荐

