Brew安装docker不包括docker引擎?


144

尝试从brew设置docker,但是任何正式公式中似乎都未包含该引擎。

brew install docker-machine docker-compose

因此,这些仅安装客户端吗?引擎/守护程序没有小桶吗?

Answers:


211

请尝试跑步

brew install docker

这将安装Docker引擎,这将需要Docker-Machine(+ VirtualBox)在Mac上运行。

如果要安装不需要virtualbox较新的 Docker for Mac,可以通过Homebrew的Cask进行安装:

brew cask install docker
open /Applications/Docker.app

1
'docker-compose'只是给我的:一个错误“您可能需要运行docker-machine start default”我不想为我的容器运行一个虚拟盒子,我想在我的Mac上本地运行它
David Karlsson

4
我已经更新了答案,以显示如何安装Docker for Mac,它不需要VirtualBox或Docker-Machine。
nwinkler

1
我看到这给了我整个桌面应用程序。没有办法只获得daemon + cli工具,我想在“无头” OSX上运行它。
大卫·卡尔森

15
@DavidKarlsson GUI应用程序是“官方” Docker应用程序,Docker Inc.不提供适用于Mac OS的无头程序包。但是,GUI应用程序包含命令行实用程序。如果brew cask install docker没有在usr/local/bin其中创建符号链接,则可以自己创建它们:ln -s /Applications/Docker.app/Contents/Resources/bin /usr/local/bin/docker
chiborg

8
无需手动创建指向docker二进制文件的符号链接。首次运行Docker应用程序会创建这些符号链接。有关详细信息,请参见stackoverflow.com/a/43365425/303363的我的答案。
Susam Pal

339

以下步骤可在macOS Sierra 10.12.4上正常运行。请注意,brew安装Docker之后,该docker命令(符号链接)在处不可用/usr/local/bin。首次运行Docker应用程序将创建此符号链接。请参阅下面的详细步骤。

  1. 安装Docker

    brew cask install docker
    
  2. 启动Docker。

    • +调SpaceSpotlight搜索并输入Docker以启动Docker。
    • Docker需要特权访问对话框中,单击确定
    • 输入密码,然后单击 确定

    当以这种方式启动Docker时,状态菜单中会出现一个Docker whale图标。一旦鲸鱼图标出现,对于符号链接dockerdocker-composedocker-credential-osxkeychaindocker-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 whale图标,等待它显示Docker正在运行

    在此处输入图片说明 在此处输入图片说明

  4. 测试docker工作正常。

    $ 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"
    

32
这个答案的最好之处在于,作者提供了额外的信息,使使用OCD进行计算机安装的人们(例如我)感到放心。谢谢!
晨星

这很棒!现在,我只是停留在用户X不在docker组中的位置。目前解决该问题的方法是什么?
Alper

我被Mac的Docker Desktop所束缚,无法与登录Mac OS UI的用户一起运行。无法open /Applications/Docker.app远程开始使用docker。而且,如果您退出,它将停止应用程序,引擎以及所有容器。
dlamblin

@ david-karlsson,请考虑将其设为接受的答案
Ramon Balthazar,

31

要使用自制软件为Mac安装Docker:

brew cask install docker

要安装命令行完成:

brew install bash-completion
brew install docker-completion
brew install docker-compose-completion
brew install docker-machine-completion

6
您不需要brew install docker-这brew cask install docker与安装和安装不同的东西不同@mimoralea
Igor Serebryany

3
感谢您的单挑:brew cask install docker && brew install bash-completion docker-completion docker-compose-completion docker-machine-completion
mimoralea

不要使用泊坞窗机-它会为您提供了很多头疼的与网络转发
弗拉德

1
@mimoralea我建议您删除您的第一条评论,以便每个人都看到您的第二条评论:-)
Duncan Jones,

2
@IgorSerebryany为什么它们不同?它们之间有什么区别?我希望docker守护程序可以通过任何一种方式运行,并且工作cli-区别仅在于一个(桶)具有风筝功能吗?
linuxbandit
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.