Стек Docker Machine работает, запуская виртуальную машину, а затем устанавливая переменную окружения DOCKER_HOST
для указания на нее.В частности, он также выполняет необходимую настройку для TLS-шифрования соединения и для настройки сертификата клиента TLS для аутентификации вызывающего абонента.(Без этой настройки удаленный DOCKER_HOST
чрезвычайно опасен.)
Итак: docker run
и любая другая команда Docker использует переменную окружения DOCKER_HOST
, чтобы решить, где запускать вещи.Если DOCKER_HOST
указывает на виртуальную машину Docker Machine, docker ps
перечислит там контейнеры;вам обычно не нужно docker-machine ssh
(хотя это полезный инструмент, когда он вам действительно нужен).
На нативном хосте Linux гораздо проще просто напрямую использовать локальный демон Docker.Если у вас есть и локальный демон, и виртуальная машина с докером, вы можете
# switch to the Docker Machine VM
eval $(docker-machine env default)
# switch back to the host Docker
eval $(docker-machine env -u)