将本地 docker-deamon 添加到 docker-machine 吗?

将本地 docker-deamon 添加到 docker-machine 吗?

我刚刚安装了一台带有 docker-daemon 的 Ubuntu 机器,并且我能够运行 docker 容器,之后我安装了 docker-machine 并使用 docker2boot 配置了一台 ESX 机器,运行时我可以看到这个主机docker-machine ls

然而问题是,当我运行此命令时,我只能看到 ESX docker 主机,而没有列出本地 docker daemon docker-machine ls

所以现在我的问题是,如何将我的本地 docker-daemon 添加到 docker-machine,以便当我运行时docker-machine ls,我可以看到我的本地守护进程作为默认 docker 引擎?

答案1

通常您不需要添加本地守护进程,docker-machine因为该工具主要用于创建/配置启用 Docker 的主机并管理连接到这些远程守护进程所需的环境变量:

$ env | grep DOCKER
DOCKER_HOST=tcp://192.168.99.100:2376
DOCKER_MACHINE_NAME=default
DOCKER_TLS_VERIFY=1
DOCKER_CERT_PATH=/Users/deizel/.docker/machine/machines/default

要连接到本地安装的守护进程,您可以取消设置这些环境变量:

unset DOCKER_TLS_VERIFY
unset DOCKER_CERT_PATH
unset DOCKER_MACHINE_NAME
unset DOCKER_HOST

或者在 Bash 中,只需运行unset ${!DOCKER_*}

话虽如此,你使用该驱动程序可能还是有好处的none。例如:

$ docker-machine create -d 'none' --url http://localhost:2375 default
Running pre-create checks...
Creating machine...
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env default
$ docker-machine ls
NAME       ACTIVE   DRIVER         STATE     URL                     SWARM   DOCKER    ERRORS
default    -        none           Running   http://localhost:2375           Unknown   Unable to query docker version: Cannot connect to the docker engine endpoint

(我使用的是 MacOS,所以现在无法真正测试它。)

相关内容