您好,提前感谢您的帮助。
我遇到一个问题,当我运行 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 是否在我不知情的情况下更新并重新启动...
经过更多研究,我发现了来自 @Ashok 的回复帖子,他建议“删除默认网络以外的其他桥接网络,然后尝试再次拉取图像”。我就是这样做的,然后“干草”,我又回来工作了。
导致我误导的因素是错误“没有到主机的路由”。我的理解是,默认情况下,您无法从桥接适配器访问物理网络。我想如果你“创建一个卷”那么这些规则就不适用......
无论如何,我希望 Ashok 的回答和我的后续行动能够帮助其他人......
问候, 哈罗德