Mac上使用Docker记录
Lima: Linux virtual machines (on macOS, in most cases)
Linux virtual machines, typically on macOS, for running containerd
The best free & open source container tools
Manage containers, pods, and images with Podman. Seamlessly work with containers and Kubernetes from your local environment.
Docker Desktop
Install Docker Desktop – the fastest way to containerize applications.
docker volume create redis-config(数据卷配置文件)
查看 路径 docker volume inspect redis-config
目录下面,但是我们mac上并没有这个地址,网上找到的资料是运行下面的代码就能找到对应的文件夹目录,就是在容器里映射。主要是--privileged获取了主机dev目录的访问权限
docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh
原因及解法分析
为什么如此,是因为MacOS 是在本地运行xhyve 虚拟机管理的docker,容器卷是在虚拟机的文件系统中创建, 在macOS的FileSystem无法直接访问。
可以启动一个新容器,在新容器中访问容器卷。可使用却不局限于如下命令。
命令解析:docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh
docker run --pid=host 当创建一个Docker容器的时候,可以指定一个PID名空间(名空间不存在则会新建)。容器启动进程在该名空间内PID为1(-t 1)。当PID1进程结束之后,Docker会销毁对应的PID名空间,并向容器内所有其它的子进程发送SIGKILL。
nsenter -m 进入到docker容器的mount namespace
docker context list
docker context show
Seamless and efficient Docker and Linux on your Mac. Glide through your work faster with our Docker Desktop alternative.