Mac 机找不到容器卷的目录/var/lib/docker/volumes

本文介绍了在Mac上使用Docker时遇到的容器卷路径无法直接访问的问题。通过分析,发现这是因为MacOS下Docker运行在xhyve虚拟机中,容器卷位于虚拟机文件系统。解决方案是通过运行特殊命令进入容器内部访问卷。同时,文章还探讨了Docker volume命令的作用,指出其在启动新容器时能自动分享卷。
摘要由CSDN通过智能技术生成

问题背景及描述

Mac机安装docker镜像,使用了容器卷的方式挂载目录

docker volume create jenkins

docker run -d --name jenkins -p 8080:8080 -p 50000:50000 \
-v jenkins:/var/jenkins_home jenkins/jenkins:lts

因为忘记jenkins密码,想要修改users/config.xml ,但容器中未安装vim,不能直接修改。就想可以在本地配置文件中修改。 先查看容器卷的本地文件路径,运行如下命令。

docker inspect jenkins

找到本地地址如下图

可是在本地查找对应路径时,却提示没有对应路径或者文件。

直接解法

 运行如下命令

docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh

本地机器再查找容器卷默认路径(ls /var/lib/docker/volumes), 路径可查。

原因及解法分析

为什么如此,是因为MacOS 是在本地运行xhyve 虚拟机管理的docker,容器卷是在虚拟机的文件系统中创建, 在macOS的FileSystem无法直接访问。

可以启动一个新容器,在新容器中访问容器卷。可使用却不

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值