Docker for Mac使用由HyperKit创建的Linux VM在Mac上存储和运行容器。
使用Docker Toolbox,我可以打开VirtualBox并访问docker-machine VM。但是使用Docker for Mac,我如何访问HyperKit创建的VM?
答案 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,您将收到登录提示。以,您将获得shell:root
登录并按Enter键,您将获得一个shell(无密码)
要退出会话,请键入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 为我工作。