"Default" docker 机器在 Linux 上不存在,而 Docker 守护程序是 运行

"Default" docker machine does not exist on Linux when Docker daemon is running

我是 运行 Docker Linux Manjaro。 运行 和使用服务没问题:

[luqo33@ltarasiewicz-pc containers]$ systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2016-12-23 20:46:31 CET; 26s ago

然而,docker-machine ls 将始终显示:

[luqo33@ltarasiewicz-pc containers]$ docker-machine ls
NAME   ACTIVE   DRIVER   STATE   URL   SWARM   DOCKER   ERRORS

[luqo33@ltarasiewicz-pc containers]$ docker-machine env default
Host does not exist: "default"

为什么 'default' 机器不可用?

您必须像这样创建它:

$ docker-machine create --driver virtualbox default
Running pre-create checks...
Creating machine...
...
...
...
To see how to connect Docker to this machine, run: docker-machine env default


$: docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           v1.12.1


$: docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/blahblah/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"

编辑:您还可以使用其他虚拟化提供商,如 Fusion、Hyper-V 等。

因为您已经在 Linux 上安装了 docker,您可以使用 docker ps 或任何其他 docker 命令直接在主机上访问它。您将需要 运行 这些命令作为 root (sudo) 或将您的用户添加到 docker 组以访问 docker 套接字。

Docker 机器用于快速启动 docker 的云和虚拟机实例,因此当您直接在 Linux 主机上安装它时不需要它。