如何从Docker中选择存储文件的文件夹?

时间:2018-02-03 23:04:27

标签: docker windows-10

我已经在这方面工作了好几个小时,但我主要找到了与Linux有关的答案。

我在Windows 10中运行Docker,并且我尝试从Linuxserver安装一些发行版

我可以进行基本设置(按照a guide以类似的方式安装Jackett)

docker create --name=jackett \
--restart=always \
-v /home/docker/jackett/config:/config \
-v /home/docker/jackett/downloads:/downloads \
-e PGID=1001 -e PUID=1001 \
-e TZ=Europe/London \
-p 9117:9117 \
linuxserver/jackett

但是,我不明白如何选择我设置的其中一个共享驱动器,而且我不知道我的硬盘驱动器上/home/...的位置。

如何将其设置为保存配置和下载,例如:

H:\Documents\Configs

1 个答案:

答案 0 :(得分:0)

docker卷定义是成对的

  

-v left_side:right_side

其中左侧的完整路径是从您的笔记本电脑或服务器执行docker命令的机器本地目录...而right_side与从新启动的容器内部查看的目录相同。那就是你正在向你的容器安装一个本地目录,这样即使在容器被杀掉之后它也可以读写并保持更改

例如,我想让我的应用程序可以看到笔记本电脑上的目录

/some/full/path/local/dir

,应用程序会将此视为路径

/whatever/dir

所以语法看起来像这样

docker  ... skip settings ...  -v /some/full/path/local/dir:/whatever/dir

我的猜测是你的主机是MS Windows然后使用Windows \分隔符而不是linux /分隔符

docker  ... skip settings ...  -v c:\some\full\path\local\dir:/whatever/dir

所以这将是linux主机语法

docker create --name=jackett \
--restart=always \
-v /some/config/dir:/config \
-v /some/config/dir:/downloads \
-e PGID=1001 -e PUID=1001 \
-e TZ=Europe/London \
-p 9117:9117 \
linuxserver/jackett

而这是MS Windows语法使用\而不是/作为分隔符

docker create --name=jackett \
--restart=always \
-v H:\\Documents\\Configs:/config \
-v H:\\Documents\\Configs:/downloads \
-e PGID=1001 -e PUID=1001 \
-e TZ=Europe/London \
-p 9117:9117 \
linuxserver/jackett

UPDATE - 注意可能在Windows上运行的双\ \因为单个\只意味着对后续字符进行转义...同样保留上面linuxserver/jackett的最后一行,因为它不是路径泊坞窗图像名称

在ubuntu上我刚刚跑到下面就好了

docker create --name=jackett_stens  \
--restart=always \
-v /home/khufu/src/config:/config \
-v /home/khufu/src/config:/downloads \
-e PGID=1001 -e PUID=1001 \
-e TZ=Europe/London \
-p 9117:9117 \
linuxserver/jackett

以上输出是

khufu@jill ~ $ docker create --name=jackett_stens  \
> --restart=always \
> -v /home/khufu/src/config:/config \
> -v /home/khufu/src/config:/downloads \
> -e PGID=1001 -e PUID=1001 \
> -e TZ=Europe/London \
> -p 9117:9117 \
> linuxserver/jackett
Unable to find image 'linuxserver/jackett:latest' locally
latest: Pulling from linuxserver/jackett
f2233041f557: Already exists 
53bd17864f23: Pull complete 
02efc09c990b: Pull complete 
14b057e5c85e: Pull complete 
7e03e93fc218: Pull complete 
9825bf39efb1: Pull complete 
0a74d4d4cac0: Pull complete 
34451e5c900f: Pull complete 
5453d859f994: Pull complete 
d9976cfaf0ba: Pull complete 
09ccdb48553d: Pull complete 
Digest: sha256:b624cbc75efb40d7dab9a2095653988632a4773ad86e0f5ee2edd877e4178678
Status: Downloaded newer image for linuxserver/jackett:latest
dddfae776bfc32c3a55de1ddc08c04e2574ecb3c950ba9bb88f477e3e240121e

好的,以上工作,然后我使用

启动图像
docker start  jackett_stens 

并通过发出

确认它正在运行
docker ps