Docker - “安装卷时出错 - 没有到主机的路由” - 无法从我的 Docker 容器访问我的本地网络

问题描述 投票:0回答:1

您好,提前感谢您的帮助。

我遇到一个问题,当我运行 docker-compose 文件时,无法安装我的卷。这是用于“Audiobookshelf”容器的。令人沮丧的是,它已经正常运行了大约 8-10 个月,包括关闭容器进行更新。我的主机是一个 Windows 机器,运行 Docker Desktop。

我发出来创建驱动器的命令是:

 docker volume create --driver local --opt type=cifs --opt device=//192.168.1.200/media/books --opt o=user=<username>,password=<password> books

我也发出相同的命令,但带有“播客”位置和安装点。

我的 docker compose 文件是:

services:

audiobookshelf-0114:
    image: ghcr.io/advplyr/audiobookshelf:latest
    ports:
      - 13378:80
    restart: unless-stopped
    volumes:
      - books:/audiobooks
      - podcasts:/podcasts
      - "/c/docker/audiobookshelf/config:/config"
      - "/c/docker/audiobookshelf/metadata:/metadata"
volumes:
  books:
    external: true 
  podcasts:
    external: true 

但是,当我发出“docker-compose up -d”命令时,我现在收到此错误:

Error response from daemon: error while mounting volume '/var/lib/docker/volumes/books/_data': failed to mount local volume: mount //192.168.1.200/media/books:/var/lib/docker/volumes/books/_data, data: user=********,password=********: no route to host

这两个共享可以从运行 docker 引擎的 Windows 主机访问。

我猜测网络有问题。如果我“执行”到容器中并尝试 ping 192.168.1.200 或 192.168.1.1,所有数据包都会丢失。我能够访问互联网,并且可以通过暴露的端口连接到容器(如果我不尝试安装任何东西)。

我对 docker 和网络都不是最有经验的,所以这里的任何帮助将不胜感激。正如我所说,这一直运作良好。我不确定 Windows 是否在我不知情的情况下更新并重新启动...

docker docker-compose docker-desktop mounted-volumes
1个回答
0
投票

经过更多研究,我发现了来自 @Ashok 的回复帖子,他建议“删除默认网络以外的其他桥接网络,然后尝试再次拉取图像”。我就是这样做的,然后“干草”,我又回来工作了。

导致我误导的因素是错误“没有到主机的路由”。我的理解是,默认情况下,您无法从桥接适配器访问物理网络。我想如果你“创建一个卷”那么这些规则就不适用......

无论如何,我希望 Ashok 的回答和我的后续行动能够帮助其他人......

问候, 哈罗德

© www.soinside.com 2019 - 2024. All rights reserved.