删除容器后无法访问Docker卷挂载目录的技术求助
Docker卷访问问题解答
容器删除后如何访问卷的挂载目录?
- 先通过
docker volume inspect MarkLogic命令获取卷的真实存储路径,输出里的Mountpoint字段就是宿主机上的目录位置。示例输出:[ { "CreatedAt": "2024-05-20T10:00:00Z", "Driver": "local", "Labels": {}, "Mountpoint": "/var/lib/docker/volumes/MarkLogic/_data", "Name": "MarkLogic", "Options": {}, "Scope": "local" } ] - 你之前找不到这个目录,核心原因是没有root权限。直接访问需要加sudo,比如执行
sudo ls /var/lib/docker/volumes/MarkLogic/_data就能看到卷内的文件了。 - 嫌操作宿主机麻烦的话,还可以启动一个临时容器挂载该卷来访问,命令如下:
进入容器后,docker run -it --rm --mount source=MarkLogic,target=/volumedir alpine:latest/volumedir就是卷的内容,退出容器时这个临时容器会自动删除,卷的数据不会受影响。
挂载目录是否与活跃容器绑定?
- 完全不绑定。Docker卷是独立于容器的持久化存储组件,不管挂载它的容器是运行中、已停止还是已删除,卷都会保留(除非你手动执行
docker volume rm MarkLogic删除卷)。 - 你删除容器后卷仍然存在,正好印证了这个特性——卷的生命周期和容器无关,就是用来避免容器删除时丢失重要数据的。
内容的提问来源于stack exchange,提问作者Rashmita Purkayastha
相关产品推荐
相关产品推荐

