提问人:Azima 提问时间:7/19/2019 最后编辑:Azima 更新时间:6/18/2021 访问量:10772
docker volume ls 列表为空
docker volume ls lists empty
问:
我正在使用 .docker version 18.09.2, build 6247962
我运行了一个容器,并将主机目录挂载到容器中。
docker run -it -p 4444:8000 -v c:/py:/azima 27b4b21eeb64 /bin/sh
这将创建一个容器,并且主机目录已挂载到 。c:/py
/azima
我可以检查、创建、读取文件,并且它正在工作。
但是从我运行这个命令开始.another powershell
docker volume ls
这显示为空。
检查会给出以下信息(如果有帮助):container
"Mounts": [
{
"Type": "bind",
"Source": "/host_mnt/c/py",
"Destination": "/azima",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
为什么卷没有列出?
答:
这是因为 option 将使用 bind-mounts 挂载到容器内的目录中。-v c:/py:/azima
c:/py
/azima
绑定挂载基本上只是从容器内的主机绑定某个目录或文件,您就是这样做的。
这就是为什么当您检查容器时,您会看到"Type": "bind"
而 docker volume 将创建您手动创建的命名卷。它们是在 中创建的,并且只能通过其名称引用。docker volume create VOLUME_NAME
/var/lib/docker/volumes
这些命名卷仅在 docker volume ls 命令中列出。
当您检查连接到该卷的容器时,您会看到"Type": "volume"
更多信息请点击此处。
希望这会有所帮助。
Docker 卷和 Docker 挂载是两个不同的东西。
在绑定挂载中,我们指定,但它不显示在 和 volume 中,我们指定 docker,我们可以看到 docker volume 使用
Host Path
docker volumes ls
volume name
docker volumes ls
卷:卷是存储 Docker 容器创建或使用的持久性数据的首选方式。主机文件系统还存储卷,类似于绑定挂载。但是,默认情况下,Docker 会完全管理它们并将它们存储在 ~/docker/volumes 下。
docker volume create alpine_test
现在运行容器
docker run --rm -v alpine_test:/root alpine ash -c "touch /root/test.txt"
这将只会使用卷创建一个文件,容器将终止。alpine_test
现在,如果我们运行另一个容器和列表文件
docker run -v alpine_test:/root alpine ash -c "ls /root/"
尽管如此,我们仍然能够看到上次创建的文件。
如果容器终止,数据仍保留在卷中,并可供以后使用。
如果检查卷附加容器,它将显示 docker 卷路径
docker inspect container_id
"Mounts": [
{
"Type": "volume",
"Name": "alpine_test",
"Source": "/var/snap/docker/common/var-lib-docker/volumes/alpine_test/_data",
"Destination": "/root",
"Driver": "local",
"Mode": "z",
"RW": true,
"Propagation": ""
}
],
绑定挂载:绑定挂载是存储在容器主机文件系统上任何位置的文件或文件夹,挂载到正在运行的容器中。绑定挂载与卷的主要区别在于,由于它可以存在于主机文件系统上的任何位置,因此 Docker 之外的进程也可以修改它。
docker run -v /home/test/:/test -it --rm alpine
对于挂载,如果检查容器,则会发现主机挂载路径位置。
docker inspect container_id
"Mounts": [
{
"Type": "bind",
"Source": "/home/test/",
"Destination": "/root",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
评论
c:/py:/azima
docker version 18.09.2, build 6247962