Brew Install Docker enthält keine Docker-Engine?

144

Beim Versuch, Docker von Brew aus einzurichten, scheint die Engine jedoch in keiner der offiziellen Formeln enthalten zu sein.

brew install docker-machine docker-compose

Also installiert diese nur die Clients? Gibt es kein Fass mit der Engine / dem Daemon?

David Karlsson
quelle

Antworten:

211

Bitte versuchen Sie es mit Laufen

brew install docker

Dadurch wird die Docker-Engine installiert, für deren Ausführung Docker-Machine (+ VirtualBox) auf dem Mac erforderlich ist.

Wenn Sie den neueren Docker für Mac installieren möchten, für den keine Virtualbox erforderlich ist , können Sie diesen über Homebrews Cask installieren:

brew cask install docker
open /Applications/Docker.app
nwinkler
quelle
1
'docker-compose' up gibt mir nur Folgendes: ein Fehler "Möglicherweise müssen Sie den Standard für den Start der Docker-Maschine ausführen" Ich möchte keine virtuelle Box für meine Container ausführen, sondern sie lokal auf meinem Mac ausführen
David Karlsson
4
Ich habe meine Antwort aktualisiert, um zu zeigen, wie Docker für Mac installiert wird, für den VirtualBox oder Docker-Machine nicht erforderlich sind.
Nwinkler
1
Ich kann sehen, dass ich dadurch die gesamte Desktop-App habe. Gibt es keine Möglichkeit, nur die Daemon + CLI-Tools zu erhalten, ich möchte es auf einem "kopflosen" OSX ausführen.
David Karlsson
15
@DavidKarlsson Die GUI-App ist die "offizielle" Docker-App. Docker Inc. bietet kein Headless-Paket für Mac OS. Die GUI-App enthält jedoch die Befehlszeilenprogramme. Wenn das brew cask install dockerkeine Symlinks in erstellt usr/local/bin, können Sie diese selbst erstellen:ln -s /Applications/Docker.app/Contents/Resources/bin /usr/local/bin/docker
Chiborg
8
Es ist nicht erforderlich, die symbolischen Links zu Docker-Binärdateien manuell zu erstellen. Wenn Sie die Docker-App zum ersten Mal ausführen, werden diese symbolischen Links erstellt. Weitere Informationen finden Sie in meiner Antwort unter stackoverflow.com/a/43365425/303363 .
Susam Pal
339

Die folgenden Schritte funktionieren unter macOS Sierra 10.12.4 einwandfrei. Beachten Sie, dass nach der Installation von Brew Docker der dockerBefehl (symbolischer Link) unter nicht verfügbar ist /usr/local/bin. Wenn Sie die Docker-App zum ersten Mal ausführen, wird dieser symbolische Link erstellt. Siehe die detaillierten Schritte unten.

  1. Installieren Sie Docker.

    brew cask install docker
    
  2. Starten Sie Docker.

    • Drücken Sie + Space, um Spotlight Search aufzurufen, und Dockerdrücken Sie die Eingabetaste , um Docker zu starten.
    • In der Docker privilegierten Zugang muss im Dialogfeld klicken Sie auf OK .
    • Geben Sie das Passwort ein und klicken Sie auf OK .

    Wenn Docker auf diese Weise gestartet wird, wird im Statusmenü ein Docker-Walsymbol angezeigt. Sobald die Wal - Symbol angezeigt wird , die symbolischen Links für docker, docker-compose, docker-credential-osxkeychainund docker-machinewerden in erstellt /usr/local/bin.

    $ ls -l /usr/local/bin/docker*
    lrwxr-xr-x  1 susam  domain Users  67 Apr 12 14:14 /usr/local/bin/docker -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker
    lrwxr-xr-x  1 susam  domain Users  75 Apr 12 14:14 /usr/local/bin/docker-compose -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker-compose
    lrwxr-xr-x  1 susam  domain Users  90 Apr 12 14:14 /usr/local/bin/docker-credential-osxkeychain -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker-credential-osxkeychain
    lrwxr-xr-x  1 susam  domain Users  75 Apr 12 14:14 /usr/local/bin/docker-machine -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker-machine
    
  3. Klicken Sie im Statusmenü auf das Docker-Wal-Symbol und warten Sie, bis Docker ausgeführt wird .

    Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

  4. Testen Sie, ob der Docker einwandfrei funktioniert.

    $ docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    78445dd45222: Pull complete
    Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://cloud.docker.com/
    
    For more examples and ideas, visit:
     https://docs.docker.com/engine/userguide/
    
    $ docker version
    Client:
     Version:      17.03.1-ce
     API version:  1.27
     Go version:   go1.7.5
     Git commit:   c6d412e
     Built:        Tue Mar 28 00:40:02 2017
     OS/Arch:      darwin/amd64
    
    Server:
     Version:      17.03.1-ce
     API version:  1.27 (minimum version 1.12)
     Go version:   go1.7.5
     Git commit:   c6d412e
     Built:        Fri Mar 24 00:00:50 2017
     OS/Arch:      linux/amd64
     Experimental: true
    
  5. Wenn Sie docker-machinevirtuelle Maschinen erstellen möchten, installieren Sie VirtualBox.

    brew cask install virtualbox
    

    Beachten Sie, dass wenn VirtualBox nicht installiert ist, docker-machine der folgende Fehler auftritt.

    $ docker-machine create manager
    Running pre-create checks...
    Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"
    
Susam Pal
quelle
32
Der beste Teil dieser Antwort ist, dass der Autor zusätzliche Informationen bereitstellt, mit denen sich Menschen mit Zwangsstörungen für ihre Computer (wie ich) beruhigt fühlen. Danke dir!
Dawnstar
Das ist toll! Jetzt stecke ich nur fest, dass Benutzer X nicht Teil der Docker-Gruppe ist. Wie kann das derzeit behoben werden?
Alper
Ich bin festgefahren, dass Docker Desktop für Mac an die Ausführung mit dem an der Mac OS-Benutzeroberfläche angemeldeten Benutzer gebunden ist. Es ist nicht möglich, open /Applications/Docker.appDocker aus der Ferne zu verwenden. Wenn Sie sich abmelden, werden die App, die Engine und alle Container gestoppt.
Dlamblin
@ david-karlsson bitte erwäge, dies zur akzeptierten Antwort zu machen
Ramon Balthazar
31

So installieren Sie Docker für Mac mit Homebrew:

brew cask install docker

So installieren Sie die Befehlszeilenvervollständigung:

brew install bash-completion
brew install docker-completion
brew install docker-compose-completion
brew install docker-machine-completion
wisbucky
quelle
6
Sie wollen nicht brew install docker- das ist nicht das gleiche wie brew cask install dockerund installiert verschiedene Dinge @mimoralea
Igor Serebryany
3
Vielen Dank für das Heads-up:brew cask install docker && brew install bash-completion docker-completion docker-compose-completion docker-machine-completion
Mimoralea
Verwenden Sie keine Docker-Maschine - es wird Ihnen viel Kopfschmerzen bei der Netzwerkweiterleitung bereiten
Vlad
1
@mimoralea Ich würde vorschlagen, dass Sie Ihren ersten Kommentar löschen, so dass jeder Ihren zweiten entdeckt :-)
Duncan Jones
2
@IgorSerebryany warum sind sie unterschiedlich? Was ist der Unterschied zwischen ihnen? Ich würde erwarten, dass der Docker-Daemon so oder so da ist und funktioniert. Ist der Unterschied nur, dass einer (Fass) auch kitematisch ist?
Linuxbandit