Cannot connect to the Docker daemon on macOS

前端 未结 15 1541
失恋的感觉
失恋的感觉 2020-12-07 07:23

I normally prefer to manage my apps on my OSX with brew

I am able to install docker, docker-compose and docker-machine

docker --version
Docker versio         


        
15条回答
  •  太阳男子
    2020-12-07 07:38

    On macOS the docker binary is only a client and you cannot use it to run the docker daemon, because Docker daemon uses Linux-specific kernel features, therefore you can’t run Docker natively in OS X. So you have to install docker-machine in order to create VM and attach to it.

    Install docker-machine on macOS

    If you don't have docker-machine command yet, install it by using one of the following methods:

    • Using Brew command: brew install docker-machine docker.
    • Manually from Releases page:

      $ curl -L https://github.com/docker/machine/releases/download/v0.16.1/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine
      $ chmod +x /usr/local/bin/docker-machine
      

    See: Get started with Docker for Mac.

    Install Virtualbox

    docker-machine relies on VirtualBox being installed and will fail if this isn't the case. If you already have VirtualBox, you can skip this step.

    • Using Homebrew: brew cask install virtualbox
    • Manually using the releases on Virtualbox.org

    You will need to actively accept loading the Virtualbox kernel extension in the OS X Security panel and then proceed to restart the machine for the next commands not to fail with Error: VBoxNetAdpCtl: Error while adding new interface

    Configure docker-machine on macOS

    Create a default machine (if you don't have one, see: docker-machine ls):

    docker-machine create --driver virtualbox default
    

    Then set-up the environment for the Docker client:

    eval "$(docker-machine env default)"
    

    Then double-check by listing containers:

    docker ps
    

    See: Get started with Docker Machine and a local VM.


    Related:

    • Brew install docker does not include docker engine?
    • For Linux, see: Docker can't connect to docker daemon
    • For Windows, see: Docker warning: failed to get default registry endpoint from daemon

提交回复
热议问题