如何连接到Mac上的Docker桌面虚拟机? docker桌面版本2.4

问题描述

在Mac上,docker使用HyperKit来创建LinuxKit VM。例如,这意味着,由于虚拟机控制了所有这些操作,因此我无法在/var/lib/docker之类的位置看到给定容器下拉的任何图像层。

是否有一种方法可以在该VM上实际获得外壳以进行这种自省?

解决方法

在Mac版Docker Desktop 2.4中,可以使用健全的制表符自动完成功能,将几乎完整的终端插入LinuxKit VM,并可以检查其内容。

例如,要查看下拉的docker映像的层,可以执行以下命令:

$ stty -echo -icanon && nc -U ~/Library/Containers/com.docker.docker/Data/debug-shell.sock && stty sane
/ # ls -al /var/lib/docker/overlay2/

nc -U ~/Library/Containers/com.docker.docker/Data/debug-shell.sock可以单独运行,per the Docker release docs,但是如果按照上面的示例未将其与stty结合使用,您将不会看到很好的输出,也不会看到在虚拟机中具有制表符补全。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...