我发现的 Docker 插件 (spotify/docker-maven-plugin) 使用原生 docker
申请,但据我了解docker
只是一个 REST API 客户端,它将命令“重定向”到 docker 守护进程。
如果我在 Windows 机器上使用 docker 并且 docker daemon 在 Virtual Box 中的 Linux 上运行,情况尤其如此。
那么,是否存在不需要 native docker
的 docker-maven-plugin应用程序,只是在没有任何中介的情况下与 docker 守护进程“交谈”?
最佳答案
它不需要原生 docker
应用程序,就像知道 docker 守护进程在哪里一样。
Docker-Maven-插件
根据 documentation :
By default the plugin will try to connect to docker on localhost:2375. Set the DOCKER_HOST environment variable to connect elsewhere.
DOCKER_HOST=tcp://<host>:2375
这就是客户端知道 Docker 守护进程在哪里的方式。 Docker-Maven-Plugin 尊重这个(和其他)Docker 环境变量,以了解 Docker 所在的位置,无论它是本地的、在本地虚拟机管理程序(如 VirtualBox)上运行的 VM 中,还是在完全远程的服务器上。
docker 机器
如果您使用的是 Docker Machine,这些环境变量会在您运行时设置:
$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://172.16.62.130:2376"
export DOCKER_CERT_PATH="/Users/<yourusername>/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval "$(docker-machine env default)"
$ eval "$(docker-machine env default)"
Docker 机器的文档:
Create & Connect to Docker Machine
适用于 Windows 的 Docker
如果您使用的是 Windows,您可能会发现使用 native 客户端 Docker 为一切提供更 native 的体验很有帮助。
Docker for Windows
关于rest - Docker Maven 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39644295/