首页 > 解决方案 > 如何在 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-practiceshttps://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

标签: dockerdocker-composedocker-desktopwsl-2plex

解决方案


我想我已经解决了这个问题,如下所示。我不完全确定哪一步是关键...

  • 使用PowerShelldocker-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

希望这可以帮助任何有类似问题的人:)


推荐阅读