Docker网络冲突

2fjabf4q  于 5个月前  发布在  Docker
关注(0)|答案(1)|浏览(72)

我有一个带有Nginx反向代理的OpenProject容器。我为他们创建了一个名为 proxy 的桥接网络。我可以在服务器域中调用OpenProject网页,但不能在工作站域中调用。也许我不准确,对不起。好吧,问题是Docker子网IP和工作站IP冲突,有重叠,所以我在/中创建了daemon.json文件etc/docker由于获得不同的IP.(我发现这个建议在互联网上.)这是它的内容:

{
  "default-address-pools": [
    { "base": "10.0.2.0/18", "size": 24 }
  ]
}

字符串
我停止了容器并删除了所有的Docker网络,然后重新启动Docker并再次创建了 proxy 网络,但当我再次启动OpenProject容器时,它停止了,并显示了以下消息:
后台程序的错误响应:网络7371 a6 c729 f3143 ad 73 b81 ac 505 a726 bacd 28147 ba 38 b4 e1 ad 084 eed 7 eafa 785未找到
所以,现在我不知道该怎么办这个错误,请。

更新

OpenProject docker-compose.yml文件引用了这些网络:

networks:
  frontend:
  backend:
  proxy:
   external: true


当我试着启动它的时候,这些网络正在运行:

NETWORK ID     NAME               DRIVER    SCOPE
c2712a814ce3   bridge             bridge    local
d1abf033bef1   compose_backend    bridge    local
e370558ece80   compose_default    bridge    local
916261afc4da   compose_frontend   bridge    local
24bb40d18154   host               host      local
75da711bd148   none               null      local
36832db7fcb2   proxy              bridge    local

cbeh67ev

cbeh67ev1#

如果您删除并重新创建所有网络,则停止的容器现在正在尝试将自己连接到不再存在的网络,即使它具有相同的名称。
您可以在docker network ls中看到代理网络的id:36832db7fcb2。现在使用docker inspect [id of the container]检查已停止容器的配置。如果在Networks -> proxy下列出的NetworkID与当前代理网络的id不同,则是这种情况。
您可以通过首先将容器从这个不存在的网络中分离来解决此问题:
docker network disconnect proxy [container-id]
然后重新启动容器,
docker start [container-id]
现在,如果它启动,您可以使用以下命令将其重新连接到网络:
docker network connect proxy [container-id]

相关问题