Mac上使用Docker记录

 

lima

Lima: Linux virtual machines (on macOS, in most cases)

Linux virtual machines, typically on macOS, for running containerd

 

podman

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

 

orbstack

Seamless and efficient Docker and Linux on your Mac. Glide through your work faster with our Docker Desktop alternative.

 

posted @ 2023-08-04 14:51  qingjiawen  阅读(37)  评论(0编辑  收藏  举报