2016-07-06 5 views
3

У меня есть некоторые make-файлы, где большая часть материала должна работать без конфигурации. Эти make-файлы использовали докер-машину в прошлом.Как определить, установлен ли докер для Mac?

Есть ли возможность обнаружить в bash, если пользователь использует докер для mac вместо docker-machine?

ответ

2

Самый лучший способ, чтобы проверить наличие переменных среды Docker:

  • DOCKER_HOST
  • DOCKER_MACHINE_NAME
  • DOCKER_TLS_VERIFY
  • DOCKER_CERT_PATH

Все четыре из них установлены когда eval $(docker-machine env) запускается и требуется для использования с докер-машиной.

Бета-версия не требует установки каких-либо из них, и на самом деле требуется, чтобы вы отключали их для правильной работы.


Вы также можете сделать проверку в команде docker info ищет «Моби» (название докер для макинтош VM):

docker info | grep -q moby && echo "Docker for mac beta" || echo "Not docker for mac beta" 

Это будет зависеть от согласованности в docker info результаты, однако.

+0

Да, я думал об этом. Тем не менее, я бы предпочел положительное условие проверки существующего «Docker for mac». – JE42

+1

@ JE42 Я добавил еще одну проверку для этого, которая является скорее положительной. – enderland

4

Чистейший способом я нашел до сих пор:

[[ $(docker version --format "{{.Server.KernelVersion}}") == *-moby ]] 
Смежные вопросы