docker - 如何在 Docker Desktop (WSL2) 中挂载大卷?
问题描述
我是 Docker 新手,并尝试使用 Docker Desktop 和 WSL2 在 Windows 上设置 Plex 媒体服务器 ( https://docs.linuxserver.io/images/docker-plex )。我使用 docker-compose 使用如下所示的 yml 文件。出于明显的原因,我需要将我的媒体文件夹(在 Windows 驱动器 F: 上)安装到 docker 容器中。
我读到建议将数据加载到 WSL(https://docs.docker.com/docker-for-windows/wsl/#best-practices和https://stackoverflow.com/a/64238886/6149322 ),但是由于媒体库非常大(数百 GB),因此需要将其保存在不同的硬盘驱动器上。因此,我认为我不能只将其移至 WSL 文件系统。
当我尝试运行时docker-compose -f "docker-compose.yml" up -d --build
,我从 Docker 桌面收到以下错误消息和一个弹出窗口:(“Zugriff verweigert”是德语“拒绝访问”)
Creating plex ... error
ERROR: for plex Cannot create container for service plex: Zugriff verweigert
ERROR: for plex Cannot create container for service plex: Zugriff verweigert
ERROR: Encountered errors while bringing up the project.
你对我有什么想法或提示吗?非常感谢你!
docker-compose.yml 文件:
version: "2.1"
services:
plex:
image: ghcr.io/linuxserver/plex
container_name: plex
network_mode: bridge
environment:
- PUID=1000
- PGID=1000
- VERSION=docker
volumes:
- /f/Plex:/config
- /f/Serien:/tv
- /f/Filme:/movies
ports:
- 32400:32400
restart: unless-stopped
解决方案
我想我已经解决了这个问题,如下所示。我不完全确定哪一步是关键...
- 使用PowerShell
docker-desktop-data
中的命令将“Ubuntu”设置为我的默认 wsl 系统(而不是)wsl --set-default Ubuntu
- 将我的复制
docker-compose.yml
到 WSL 文件系统中。您可以通过键入 Windows Explorer\\WLS$
的路径文件在 Windows Explorer 中挂载 WSL 系统。 - 打开 Ubuntu shell 并
docker-compose
从那里运行命令。现在它适用于以下卷定义
volumes:
- /mnt/f/Plex:/config
- /mnt/f/Serien:/tv
- /mnt/f/Filme:/movies
希望这可以帮助任何有类似问题的人:)
推荐阅读
- amazon-web-services - 用于创建启动模板的 Lambda 函数
- documentation - 使用 docusaurus 拆分视图
- c# - 需要将我的 MVC4 Web 应用程序与 Microsoft Graph SDK 集成?
- sql - SQL Server 中带有 IN 和输入变量的 SELECT 语句
- node.js - 如何将填充的 ObjectId 与字符串混合
- python - 如何获得具有连续日期时间行的扩展数据框?
- r - How to calculate a ratio for each month in a year and attach 12 ratio columns (will be 12 columns) to the origianl dataset in R?
- python-3.x - 在 Matplotlib 的 X 轴上间隔日期
- node.js - 猫鼬只更新选定的字段
- spring-boot - 如何使用 MockMvc 为您的 REST 控制器创建单元测试