Okno dokowane instalacji Brew nie zawiera aparatu dokowanego?

144

Próbuję skonfigurować docker z brew, jednak silnik nie wydaje się być uwzględniony w żadnej z oficjalnych formuł.

brew install docker-machine docker-compose

Więc to tylko instaluje klientów? Czy nie ma beczki z silnikiem / demonem?

David Karlsson
źródło

Odpowiedzi:

211

Spróbuj uruchomić

brew install docker

Spowoduje to zainstalowanie silnika Docker, który będzie wymagał Docker-Machine (+ VirtualBox) do uruchomienia na komputerze Mac.

Jeśli chcesz zainstalować nowszy Docker na Maca , który nie wymaga virtualbox , możesz zainstalować go przez Homebrew's Cask:

brew cask install docker
open /Applications/Docker.app
nwinkler
źródło
1
„docker-compose” pojawia się po prostu: błąd „może być konieczne uruchomienie domyślnego uruchomienia docker-machine”. Nie chcę uruchamiać wirtualnego pudełka dla moich kontenerów, chcę go uruchomić lokalnie na moim Macu
David Karlsson
4
Zaktualizowałem moją odpowiedź, aby pokazać, jak zainstalować Docker na Maca, który nie wymaga VirtualBox ani Docker-Machine.
nwinkler
1
Widzę, że to daje mi całą aplikację komputerową. Czy nie ma sposobu, aby pobrać tylko narzędzia demon + cli, chcę go uruchomić na "bezgłowym" OSX.
David Karlsson
15
@DavidKarlsson Aplikacja GUI jest "oficjalną" aplikacją Dockera, Docker Inc. nie zapewnia żadnego bezgłowego pakietu dla Mac OS. Jednak aplikacja GUI zawiera narzędzia wiersza poleceń. Jeśli brew cask install dockernie tworzy dowiązań symbolicznych usr/local/bin, możesz je stworzyć samodzielnie:ln -s /Applications/Docker.app/Contents/Resources/bin /usr/local/bin/docker
chiborg
8
Nie jest konieczne ręczne tworzenie dowiązań symbolicznych do plików binarnych Dockera. Uruchomienie aplikacji Docker po raz pierwszy tworzy te dowiązania symboliczne. Zobacz moją odpowiedź na stackoverflow.com/a/43365425/303363, aby uzyskać szczegółowe informacje.
Susam Pal
339

Poniższe kroki działają poprawnie w systemie macOS Sierra 10.12.4. Zwróć uwagę, że po zainstalowaniu Dockera przez brew dockerpolecenie (łącze symboliczne) nie jest dostępne pod adresem /usr/local/bin. Uruchomienie aplikacji Docker po raz pierwszy powoduje utworzenie tego dowiązania symbolicznego. Zobacz szczegółowe kroki poniżej.

  1. Zainstaluj Docker.

    brew cask install docker
    
  2. Uruchom Docker.

    • Naciśnij +, Spaceaby wywołać Spotlight Search i wprowadź, Dockeraby uruchomić Docker.
    • W oknie dialogowym Docker wymaga uprzywilejowanego dostępu kliknij przycisk OK .
    • Wpisz hasło i kliknij OK .

    Gdy Docker jest uruchamiany w ten sposób, w menu stanu pojawia się ikona wieloryba Dockera. Jak tylko pojawi się ikona, wielorybów symbolicznych linków do docker, docker-compose, docker-credential-osxkeychaini docker-machinesą tworzone /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. Kliknij ikonę wieloryba docker w menu stanu i poczekaj, aż pokaże, że Docker jest uruchomiony .

    wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj

  4. Sprawdź, czy docker działa dobrze.

    $ 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. Jeśli zamierzasz używać docker-machinedo tworzenia maszyn wirtualnych, zainstaluj VirtualBox.

    brew cask install virtualbox
    

    Zwróć uwagę, że jeśli VirtualBox nie jest zainstalowany, docker-machine kończy się niepowodzeniem z następującym błędem.

    $ 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
źródło
32
Najlepszą częścią tej odpowiedzi jest to, że autor podaje dodatkowe informacje, które sprawiają, że ludzie, którzy mają OCD w swoich komputerach (jak ja), czują się uspokojeni. Dziękuję Ci!
dawnstar
To jest świetne! Teraz utknąłem w User X nie jest częścią grupy docker. Jak obecnie można to naprawić?
Alper
Utknąłem w Docker Desktop for Mac, który jest związany z uruchomieniem z użytkownikiem zalogowanym do interfejsu użytkownika systemu Mac OS. Nie można open /Applications/Docker.appzdalnie rozpocząć korzystania z platformy docker. A jeśli się wylogujesz, zatrzyma aplikację i silnik oraz wszystkie jego kontenery.
dlamblin
@ david-karlsson, proszę rozważyć zaakceptowanie tej odpowiedzi
Ramon Balthazar
31

Aby zainstalować Docker for Mac z homebrew:

brew cask install docker

Aby zainstalować uzupełnianie wiersza poleceń:

brew install bash-completion
brew install docker-completion
brew install docker-compose-completion
brew install docker-machine-completion
wisbucky
źródło
6
nie chcesz brew install docker- to nie to samo brew cask install dockeri instaluje różne rzeczy @mimoralea
Igor Serebryany
3
Dzięki za brew cask install docker && brew install bash-completion docker-completion docker-compose-completion docker-machine-completion
ostrzeżenie
Nie używaj docker-machine - przyniesie ci to dużo bólu głowy przy przekierowaniu sieci
Vlad
1
@mimoralea Proponuję usunąć swój pierwszy komentarz, aby wszyscy zauważyli Twój drugi :-)
Duncan Jones
2
@IgorSerebryany, dlaczego się różnią? Jaka jest różnica między nimi? Spodziewałbym się, że demon dockerowy będzie tam i tak, i działa cli - czy różnica jest tylko taka, że ​​jeden (cask) ma również Kitematic?
linuxbandit