83

Docker for Mac使用HyperKit创建的 Linux VM在 Mac 上存储和运行容器。

使用 Docker Toolbox,我可以打开 VirtualBox 并访问 docker-machine 虚拟机。但是使用 Docker for Mac,我如何访问由 HyperKit 创建的 VM?

4

4 回答 4

141

2019-01-31更新,感谢ru10的更新,现在有更好的办法:

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

原答案:

过了一会儿,我找到了以下方法来获取由 HyperKit 创建的 VM 的外壳:

从终端运行:

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

您将看到一个空白屏幕,然后输入 enter,你会得到一个登录提示。登录root并回车,您将获得一个外壳(无密码),你会得到外壳:

在此处输入图像描述

要退出会话,请键入Ctrl-A k(然后y确认)。

这有点hacky,但它现在似乎工作(2016 年 9 月)(2017 年 9 月)。

于 2016-09-28T12:39:45.317 回答
46

Mac OS High Sierra Docker 版本 18.06.0-ce-mac70 (26399)

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

代替

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
于 2018-08-01T14:43:59.730 回答
24

根据Docker 维护者的这个 GitHub 问题评论,访问 VM 的推荐方法是通过特权 docker 容器。

尝试登录虚拟机:(我建议这样做而不是在 TTY 上使用屏幕)

$ docker run -it --privileged --pid=host justincormack/nsenter1
于 2020-03-07T20:50:53.267 回答
1

事实上,正如smammy所说,从 2021 年起,来自augurar的答案是唯一有效的,其他选项已被弃用。

所以:

$ docker run -it --privileged --pid=host justincormack/nsenter1

是正确的答案,并且截至 2021 年 7 月在 MacOS Big Sur 中为我工作。

于 2021-07-28T13:51:15.300 回答