Windows 10环境下Docker如何选择文件夹存储文件?
我完全懂你现在的困扰——Windows 10上用Docker跑Linuxserver的镜像,很多教程都是针对Linux环境的,路径映射和共享驱动器这块确实容易踩坑。我来一步步帮你理清楚怎么把配置文件和下载内容存到你指定的位置:
Linux容器要访问Windows本地硬盘,首先得让Docker授权访问对应的驱动器:
- 打开Docker Desktop,点击右上角的设置图标(齿轮)
- 找到Resources > File Sharing选项
- 勾选你打算用来存放配置和下载文件的驱动器(比如D盘),然后点击「Apply & Restart」让设置生效
- 如果勾选后出现权限报错,试试重启Docker或者确认当前Windows用户对该驱动器有读写权限
你提到的容器内/home/...路径是Linux容器内部的目录,默认和Windows本地不关联。Linuxserver的镜像通常会把配置文件放在/config目录,下载类路径放在/downloads(不同镜像可能有差异,比如Sonarr是/tv、Radarr是/movies,可以查对应镜像的说明)。
我们需要用Docker的-v参数(或者Docker Compose的volumes字段)把Windows本地文件夹和容器内的指定目录绑定,格式是:
Windows本地路径:容器内目标路径
方式1:用Docker命令行启动
直接在命令提示符或PowerShell里运行:
docker run -d \ --name=jackett \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Asia/Shanghai \ -p 9117:9117 \ -v D:/Docker/Jackett/config:/config \ -v D:/Downloads/Jackett:/downloads \ --restart unless-stopped \ lscr.io/linuxserver/jackett:latest
这里的-v D:/Docker/Jackett/config:/config就是把Windows本地的D:\Docker\Jackett\config文件夹,映射到容器内的/config目录(Jackett的配置会存在这里);-v D:/Downloads/Jackett:/downloads则是把下载目录绑定到Windows的指定文件夹。
方式2:用Docker Compose(更推荐,方便管理)
创建一个docker-compose.yml文件,内容如下:
version: "3.8" services: jackett: image: lscr.io/linuxserver/jackett:latest container_name: jackett environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai volumes: - D:/Docker/Jackett/config:/config - D:/Downloads/Jackett:/downloads ports: - 9117:9117 restart: unless-stopped
然后在该文件所在的目录下,运行docker-compose up -d就能启动容器了。
/home路径的补充说明 Linuxserver的绝大多数镜像不会把核心配置或下载内容放在/home/xxx目录下,但如果确实需要映射这个路径,操作逻辑和上面一样:
比如要把Windows的D:\Docker\MyApp\userhome映射到容器内的/home/user,只需在启动命令里加:
-v D:/Docker/MyApp/userhome:/home/user
- Windows路径可以用正斜杠
/代替反斜杠\,避免命令行里的转义问题 - PUID和PGID在Windows下一般设为
1000即可(对应默认用户ID),如果遇到权限问题可以调整,但大部分场景下1000足够 - 最好提前在Windows本地创建好目标文件夹,避免容器自动创建时出现权限异常
内容的提问来源于stack exchange,提问作者Stack Johan




