Как получить доступ к виртуальной машине, созданной докером HyperKit?
Docker for Mac использует виртуальную виртуальную машину Linux, созданную HyperKit для хранения и запуска контейнеров на Mac.
С Docker Toolbox я могу просто открыть VirtualBox и получить доступ к виртуальной машине докеров. Но с Docker для Mac, как мне получить доступ к VM, созданной с помощью HyperKit?
Ответы
Ответ 1
Обновление 2019-01-31, благодаря обновлению ru10, теперь есть лучший способ:
screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
Оригинальный ответ:
Через некоторое время я нашел следующий способ получить оболочку виртуальной машины, созданной HyperKit:
Запустить из терминала:
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
Вы увидите пустой экран, затем введите Enter, вы получите приглашение для входа в систему. Войдите в систему как root
и нажмите Enter, вы получите оболочку (без пароля) , вы получите оболочку:
Это немного хакерски, но пока работает (Сентябрь 2016 г.) (Сентябрь 2017 г.)
Ответ 2
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
Ответ 3
Это полностью сломано для меня. Я могу подключиться, но что-то глубоко ошибочно в настройках TERM или о том, как передаются данные. Я получаю нефункциональный сеанс терминала, который теряет данные, а не форматирует правильно. Я пытаюсь больше способов, возможно, reset сеанса, но пока не работает.
У меня была такая же проблема, и мне помог перезапустить приложение Docker.
Ответ 4
Я не обязательно хочу управлять им, но я, по крайней мере, хочу осмотреться.
Именно то, что нужно делать, если докер запутывается и теряет мои старые остановленные контейнеры, и мне нужно восстановить старую версию или такую?
Если я могу сделать все это через локальную Mac OS, тогда это прекрасно, но мне кажется, что большая часть этой сантехники находится внутри виртуальной машины, и доступ необходим для основных задач поддержки.
Если это не так, то каково решение поддержки для любой проблемы вроде этого?