如何在 Docker 桌面 (WSL2) 中挂载大容量?

How to mount large volume in Docker Desktop (WSL2)?

我是 Docker 的新手,并尝试使用 Docker 桌面和 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 and ),但是由于媒体库非常大(几百 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
  • 中使用命令 wsl --set-default Ubuntu 将“Ubuntu”设置为我的默认 wsl 系统(而不是 docker-desktop-data
  • 已将我的 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

希望这对遇到类似问题的人有所帮助:)