首先不建议在Mac上安装和使用Docker!
首先看一下问题背景:在搭建Redis哨兵+Docker时,使用了Mac OS,并安装了Docker Desktop Manager。需要对redis.conf和持久化文件做挂载映射,找了一些文章按步骤操作了起来...
docker pull redis:latest #拉取镜像
cd /opt/docker/redis #这里docker和redis文件夹都是mkdir手动创建的
vim docker-compose.yml #新建并编辑内容 内容不是本篇重点掠过...
mkdir conf data #建立存放配置文件和数据文件的文件夹
最终效果:

问题来了:for redis-master Cannot start service master: Mounts denied: The path /opt/docker/redis/data/redis_data1 is not shared from the host and is not known to Docker
该路径对于Docker来说是未知路径...

那么macOS上Docker卷挂载路径都在哪里呢??? 看一下实际情况吧!

奇怪的是我机器上没有这个/var/lib/docker/volumes/c4.....34/_data的路径!!!!
纠结了半天 原来是macOS上的Docker是运行在一个虚拟环境里的 ,所以需要先进入这个VM。进这个VM有好几个版本的说法:
方法一:使用 screen〜/Library/Containers/com.docker.docker/Data/vms/0/tty 进入vm 注:我这里是无效的
方法二:docker run --pid=host --privileged -it --rm justincormack/nsenter1
启动一个名为justincormack/nsenter1的容器
再查找"/var/lib/docker/volume" 
就可以继续后续的操作了!卷挂载的路径就是这里了!
在Mac上使用Docker Desktop Manager搭建Redis哨兵时遇到挂载问题,提示/opt/docker/redis/data/redis_data1路径未知。实际上,macOS上的Docker运行在虚拟环境中,需通过nsenter1进入VM找到卷挂载路径,解决方法是运行docker run --pid=host --privileged -it --rm justincormack/nsenter1,然后查找"/var/lib/docker/volumes"。
1274

被折叠的 条评论
为什么被折叠?



