2016-07-06 10 views
3

Ich habe einige Makefiles, wo die meisten Sachen ohne Konfiguration laufen sollten. Diese Makefiles haben in der Vergangenheit Docker-Maschine verwendet.Wie kann ich erkennen, ob docker für Mac installiert ist?

Gibt es weg in bash zu erkennen, wenn der Benutzer docker für mac anstelle von docker-machine verwendet?

Antwort

2

Der beste Weg ist für die Existenz der DOCKER Umgebungsvariablen zu überprüfen:

  • DOCKER_HOST
  • DOCKER_MACHINE_NAME
  • DOCKER_TLS_VERIFY
  • DOCKER_CERT_PATH

Alle vier dieser eingestellt werden wenn eval $(docker-machine env) ausgeführt wird und für die Verwendung mit Docker-Machine benötigt wird.

Die Betaversion erfordert keine Einstellung und erfordert, dass Sie sie deaktivieren, um ordnungsgemäß zu funktionieren.


Sie können auch einen Scheck in docker info Befehl tun Suche nach "MOBY" (der Name des Docker für mac VM):

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

Das wird auf Konsistenz abhängig sein, in der docker info Ergebnisse jedoch.

+0

Ja, ich darüber dachte. Allerdings würde ich eine positive Bedingung für das Vorhandensein von "Docker für Mac" überprüfen wollen – JE42

+1

@ JE42 Ich fügte einen weiteren Scheck für diese auch hinzu, die mehr von einem positiven ist. – enderland

4

Der sauberste Weg, die ich bisher gefunden ist:

[[ $(docker version --format "{{.Server.KernelVersion}}") == *-moby ]] 
Verwandte Themen