O docker de instalação do Brew não inclui o mecanismo do docker?

144

Tentando configurar o docker a partir do brew, no entanto, o mecanismo não parece estar incluído em nenhuma das fórmulas oficiais.

brew install docker-machine docker-compose

Então, isso instala apenas os clientes? Não há barril com o mecanismo / daemon?

David Karlsson
fonte

Respostas:

211

Por favor, tente correr

brew install docker

Isso instalará o mecanismo do Docker, que exigirá que o Docker-Machine (+ VirtualBox) seja executado no Mac.

Se você deseja instalar o Docker for Mac mais recente , que não requer a caixa virtual , você pode instalá-lo através do Cask da Homebrew:

brew cask install docker
open /Applications/Docker.app
nwinkler
fonte
1
'docker-compose' up apenas me fornece: um erro "talvez seja necessário executar o docker-machine start default" Não quero executar uma caixa virtual para meus contêineres, quero executá-la localmente no meu mac
David Karlsson
4
Atualizei minha resposta para mostrar como instalar o Docker para Mac, que não requer o VirtualBox ou o Docker-Machine.
Nwinkler
1
Percebo que isso me dá o aplicativo de desktop inteiro. Não há como obter apenas as ferramentas daemon + cli, eu quero executá-lo em um OSX "sem cabeça".
David Karlsson
15
@DavidKarlsson O aplicativo GUI é o aplicativo Docker "oficial", a Docker Inc. não oferece pacote decapitado para o Mac OS. No entanto, o aplicativo GUI contém os utilitários de linha de comando. Se o brew cask install dockernão criar links simbólicos, usr/local/binvocê poderá criá-los:ln -s /Applications/Docker.app/Contents/Resources/bin /usr/local/bin/docker
chiborg
8
Não é necessário criar os links simbólicos para os binários do docker manualmente. A execução do aplicativo Docker pela primeira vez cria esses links simbólicos. Veja minha resposta em stackoverflow.com/a/43365425/303363 para obter detalhes.
Susam Pal
339

As etapas a seguir funcionam bem no macOS Sierra 10.12.4. Observe que após a instalação do Docker, o dockercomando (link simbólico) não estará disponível em /usr/local/bin. A execução do aplicativo Docker pela primeira vez cria esse link simbólico. Veja as etapas detalhadas abaixo.

  1. Instale o Docker.

    brew cask install docker
    
  2. Inicie o Docker.

    • Pressione + Spacepara ativar a Pesquisa Spotlight e digite Dockerpara iniciar o Docker.
    • Na caixa de diálogo Docker precisa de acesso privilegiado , clique em OK .
    • Digite a senha e clique em OK .

    Quando o Docker é iniciado dessa maneira, um ícone da baleia do Docker aparece no menu de status. Assim que as aparece ícone baleia, os links simbólicos para docker, docker-compose, docker-credential-osxkeychaine docker-machinesão criados no /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. Clique no ícone da baleia de encaixe no menu de status e aguarde até que o Docker esteja em execução .

    insira a descrição da imagem aqui insira a descrição da imagem aqui

  4. Teste se a janela de encaixe funciona bem.

    $ 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. Se você for usar docker-machinepara criar máquinas virtuais, instale o VirtualBox.

    brew cask install virtualbox
    

    Observe que, se o VirtualBox não estiver instalado, docker-machine falhará com o seguinte erro.

    $ 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
fonte
32
A melhor parte dessa resposta é que o autor fornece informações extras que fazem as pessoas que têm TOC em seus computadores (como eu) se sentirem tranqüilizadas. Obrigado!
Davidstar
Isso é ótimo! Agora estou preso no usuário X não faz parte do grupo de janelas de encaixe. Qual é a maneira atual de corrigir isso?
Alper
Estou preso no Docker Desktop for Mac vinculado à execução com o usuário conectado à interface do usuário do Mac OS. Não é possível open /Applications/Docker.appcomeçar remotamente a usar a janela de encaixe. E se você sair, ele interromperá o aplicativo, o mecanismo e todos os seus contêineres.
dlamblin
@ David-Karlsson, considere fazer esta a resposta aceita
Ramon Balthazar
31

Para instalar o Docker for Mac com homebrew:

brew cask install docker

Para instalar a conclusão da linha de comandos:

brew install bash-completion
brew install docker-completion
brew install docker-compose-completion
brew install docker-machine-completion
wisbucky
fonte
6
você não quer brew install docker- isto não é o mesmo que brew cask install dockere instala diferentes coisas @mimoralea
Igor Serebryany
3
Obrigado pelo brew cask install docker && brew install bash-completion docker-completion docker-compose-completion docker-machine-completion
aviso
Não use janela de encaixe-máquina - que irá lhe dá muita dor de cabeça com o encaminhamento de rede
Vlad
1
@mimoralea eu sugiro que você excluir seu primeiro comentário, para que todos manchas seu segundo :-)
Duncan Jones
2
@IgorSerebryany por que eles são diferentes? Qual a diferença entre eles? Eu esperaria que o daemon docker estivesse lá de qualquer maneira e funcione cli - a diferença é que apenas um (barril) também tem kitematic?
Linuxbandit 5/03/19