docker - 我如何连接到 mac 上的 docker 桌面虚拟机? (docker 桌面版本 2.4)

标签 docker docker-desktop

在 Mac 上,docker 使用 HyperKit 来创建 LinuxKit VM。这意味着,例如,除其他外,我无法在 /var/lib/docker 等位置看到为给定容器下拉的任何图像层,因为 VM 控制所有那个。

有没有办法在该 VM 上实际获得一个 shell 以便能够进行这种自省(introspection)?

最佳答案

在适用于 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 结合使用,您将不会看到很好的输出,也不会在 vm 中完成制表符。

关于docker - 我如何连接到 mac 上的 docker 桌面虚拟机? (docker 桌面版本 2.4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64530530/

相关文章:

ubuntu - 在 Ubuntu 14.04 上安装 Docker 失败

service - 无法启动Docker守护程序

docker - Concourse Worker 无法创建容器

docker - 脚本如何区分 Docker Toolbox 和 Docker for Windows?

macos - Docker:OS X上不存在导出路径

docker - 如何使用 Go Sdk for docker 运行 docker run?

c++ - 在 docker 容器中重新连接后 boost1.62 套接字损坏

Windows 10 Enterprise 中的 docker 桌面显示错误

docker - 无法在 Docker for Windows 上共享 C 盘

windows - Docker for Windows : Spinning up multiple docker containers locally with same port numbers