Brew install docker не включает движок докеров?

155

Пытаюсь настроить докер из brew, однако движок, похоже, не включен ни в одну из официальных формул.

brew install docker-machine docker-compose

Значит, они только устанавливают клиентов? Нет ли бочки с движком / демоном?

Дэвид Карлссон
источник

Ответы:

220

Пожалуйста, попробуйте запустить

brew install docker

Это установит механизм Docker, который потребует, чтобы Docker-Machine (+ VirtualBox) работал на Mac.

Если вы хотите установить новый Docker для Mac , для которого не требуется виртуальный бокс , вы можете установить его через Homebrew's Cask:

brew cask install docker
open /Applications/Docker.app
нвинклер
источник
1
'docker-compose' up просто выдает мне: ошибку "вам может потребоваться запустить docker-machine start default" Я не хочу запускать виртуальный ящик для своих контейнеров, я хочу запускать его локально на моем Mac
Дэвид Карлссон,
4
Я обновил свой ответ, чтобы показать, как установить Docker для Mac, для которого не требуется VirtualBox или Docker-Machine.
nwinkler
1
Я вижу, что это дает мне все настольное приложение. Нет возможности получить только инструменты daemon + cli, я хочу запустить его на "безголовом" OSX.
Дэвид Карлссон
16
@DavidKarlsson Приложение с графическим интерфейсом - это «официальное» приложение Docker, Docker Inc. не предоставляет никаких пакетов для Mac OS. Однако приложение с графическим интерфейсом содержит утилиты командной строки. Если brew cask install dockerне создает символические usr/local/binln -s /Applications/Docker.app/Contents/Resources/bin /usr/local/bin/docker
ссылки,
13
Нет необходимости создавать символические ссылки на двоичные файлы докеров вручную. При первом запуске приложения Docker создаются эти символические ссылки. Подробнее см. Мой ответ на stackoverflow.com/a/43365425/303363 .
Susam Pal
358

Следующие шаги отлично работают в macOS Sierra 10.12.4. Обратите внимание, что после того, как brew установит Docker, dockerкоманда (символическая ссылка) недоступна по адресу /usr/local/bin. Эта символическая ссылка создается при первом запуске приложения Docker. См. Подробные инструкции ниже.

  1. Установите Docker.

    brew cask install docker
    
  2. Запустите Docker.

    • Нажмите +, Spaceчтобы вызвать поиск Spotlight, и введите, Dockerчтобы запустить Docker.
    • В диалоговом окне Docker требуется привилегированный доступ нажмите ОК .
    • Введите пароль и нажмите ОК .

    Когда Docker запускается таким образом, в меню состояния появляется значок Docker whale. Как только кит появляется значок, символические ссылки на docker, docker-compose, docker-credential-osxkeychainи docker-machineсоздаются /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. Щелкните значок кита-докера в меню состояния и дождитесь, пока он покажет, что Docker запущен .

    введите описание изображения здесь введите описание изображения здесь

  4. Убедитесь, что докер работает нормально.

    $ 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. Если вы собираетесь использовать docker-machineдля создания виртуальных машин, установите VirtualBox.

    brew cask install virtualbox
    

    Обратите внимание, что если VirtualBox не установлен, происходит docker-machine сбой со следующей ошибкой.

    $ 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"
    
Сусам Пал
источник
35
Лучшая часть этого ответа заключается в том, что автор предоставляет дополнительную информацию, которая успокаивает людей с ОКР на своих компьютерах (таких как я). Спасибо!
dawnstar
Это круто! Теперь я просто застрял в том, что Пользователь X не входит в группу докеров. Как это исправить в настоящее время?
Alper
Я застрял в Docker Desktop для Mac, привязанном к работе с пользователем, вошедшим в пользовательский интерфейс Mac OS. open /Applications/Docker.appНачать пользоваться докером удаленно невозможно . А если вы выйдете из системы, приложение, движок и все его контейнеры остановятся.
dlamblin 06
@ david-karlsson, пожалуйста, подумайте о том, чтобы сделать это принятым ответом
Рамон Бальтазар
32

Чтобы установить Docker для Mac с помощью homebrew:

brew cask install docker

Чтобы установить автозавершение командной строки:

brew install bash-completion
brew install docker-completion
brew install docker-compose-completion
brew install docker-machine-completion
Wisbucky
источник
7
не хочешь brew install docker- это не то же самое brew cask install dockerи устанавливает разные вещи @mimoralea
Игорь Серебряный
4
Спасибо за brew cask install docker && brew install bash-completion docker-completion docker-compose-completion docker-machine-completion
предупреждение
Не используйте докер-машину - это
Влад
1
@mimoralea Я бы посоветовал вам удалить свой первый комментарий, чтобы все
Дункан Джонс,
2
@IgorSerebryany чем они разные? в чем разница между ними? Я бы ожидал, что демон докера будет там в любом случае, и рабочий cli - разница только в том, что у одного (бочки) есть китематика?
linuxbandit