我的最终结论是我无法设置/c/users/...
位置,因为它没有在“Docker”中共享。
在此之后,我能够在我的所有容器实例中看到该/c/users/..
目录。然后我可以在每个实例上使用这个目录的标志,基本上将文件写入我的主机。我仍然不明白的是,我认为我目前并没有真正使用……但它确实有效……-v
volumes
我试图让我的 Docker 托管的 Redis 实例来保存它的数据,但似乎没有使用安装的卷。我将 Docker 与 VirtualBox/boot2docker 在组合工作的地方使用,但是我已经转移到 Docker for Windows,组合文件仍然可以工作,但我不确定该volumes
属性。
我的docker-compose.yml
文件:
vq-redis:
image: redis:latest
ports:
- "6379:6379"
volumes:
- /c/users/r/.docker/data/redis/data:/data
添加或删除定义并不重要volumes
,因为它总是会显示如下内容docker inspect
:
"Mounts": [
{
"Name": "40791b26771b5d62778d85b0ef24e74e516f95d32cf217424232ce8f8a1b8c6f",
"Source": "/var/lib/docker/volumes/40791b26771b5d62778d85b0ef24e74e516f95d32cf217424232ce8f8a1b8c6f/_data",
"Destination": "/data",
"Driver": "local",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}
],
该volumes
物业是否仍在与 Docker for Windows 一起使用,还是我遗漏了一点?
编辑:
如果我跑...
docker run --name vq-redis -d -v //c/users/r/.docker/data/vq-redis:/data redis redis-server --appendonly yes
...我可以看到容器出现在 Kitematic 中,并且docker inspect
我可以看到一个挂载到我的本地文件夹。但是,本地文件夹未显示在 Kitematic 中...
如果我将数据添加到容器中托管的 Redis 服务器,然后停止容器并再次启动它,数据就消失了。
我尝试在 Kitematic 中手动设置本地文件夹。这似乎会重新启动容器,但我不确定是否再次传递了初始参数。你说:
“如果卷在运行时未联网”
我猜他们实际上是在运行时联网的,如控制台中所见。
不过,我可以将数据添加到容器中托管的 Redis 实例。但是一旦我重新启动容器,它就消失了......