繁体   English   中英

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

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

I am new to Docker and tried to set up Plex Media Server ( https://docs.linuxserver.io/images/docker-plex ) on Windows, using Docker Desktop and WSL2. 我使用如下所示的 yml 文件使用了 docker-compose。 我需要将我的媒体文件夹(在 Windows 驱动器 F:)安装到 docker 容器中,原因很明显。

I read that it is recommended to load the data into the WSL ( https://docs.docker.com/docker-for-windows/wsl/#best-practices and 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 中的命令wsl --set-default Ubuntu将“Ubuntu”设置为我的默认 wsl 系统(而不是 docker 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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM