如何访问docker的HyperKit创建的VM?

时间:2016-09-28 06:28:31

标签: docker docker-machine docker-for-mac

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

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

4 个答案:

答案 0 :(得分:101)

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

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

原始答案:

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

从终端运行:

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

您将看到一个空屏幕,然后输入enter,您将收到登录提示。以root登录并按Enter键,您将获得一个shell(无密码),您将获得shell:

enter image description here

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

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

答案 1 :(得分:36)

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

答案 2 :(得分:9)

根据Docker维护者的this GitHub issue comment,推荐的访问VM的方法是通过特权Docker容器。

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

iframe

答案 3 :(得分:0)

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

所以:

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

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