Windows上的DOCKER_HOST环境变量

use*_*329 12 java windows maven docker

我在Windows 10机器上运行Docker 1.12.0.我正在开发一个Java程序,使用Maven 3.3.9作为依赖管理器.我有一个maven docker插件(https://github.com/fabric8io/docker-maven-plugin),它在干净安装时出现以下错误.

[错误]无法执行目标io.fabric8:docker-maven-plugin:0.15.16:build(docker-build-start)项目集成测试:执行docker-build-start of goal io.fabric8:docker-maven -plugin:0.15.16:构建失败:否<dockerHost>或<machine>给定,没有DOCKER_HOST环境变量,没有可读/可写'/var/run/docker.sock' - > [帮助1]

当我在POM文件中使用以下配置选项运行全新安装时:

<dockerHost>tcp://0.0.0.0:2376</dockerHost>
Run Code Online (Sandbox Code Playgroud)

显示以下结果.

[错误]无法执行目标io.fabric8:docker-maven-plugin:0.15.16:build(docker-build-start)on project integration-test:无法创建docker访问对象:无法从服务器https中提取API版本:/ /0.0.0.0:2376:连接到0.0.0.0:2376 [/0.0.0.0]失败:连接被拒绝:连接 - > [帮助1]

我的问题:是否有一个IP地址可以用来告诉这个maven插件它可以到达守护进程?正常的docker命令工作得很好.该插件在OS X上没有任何问题.

Moh*_*ali 9

似乎运行 Maven 目标的用户无权访问docker.sock。错误消息告诉有哪些选项可以解决问题。

没有<dockerHost>或<machine>给出,没有 DOCKER_HOST 环境变量,也没有读/写 '/var/run/docker.sock '

最后一个选项是最简单的一个,因为它需要文件权限,并且不需要创建任何 docker 机器或设置 DOCKER_HOST,在 Linux 上,您可以使用以下内容更改 docker.sock 的读/写权限:

sudo chmod 776 /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)

在 Windows 上阅读这篇文章:微软文章


fri*_*ism 8

在带有Docker for Windows的Windows 10上,Docker Engine API可在以下两个位置使用:

  • npipe:////./pipe/docker_engine
  • http://localhost:2375

我建议尝试使用localhost.

详情请访问:https://docs.docker.com/docker-for-windows/faqs/#/how-do-i-connect-to-the-remote-docker-engine-api


Adr*_*ter 8

经过将近一天无果的谷歌搜索,我自己找到了这个解决方案。微不足道,但仍然可以帮助他人。

暴露 Docker 守护进程

您需要在 Settings -> General 下启用复选框“Expose daemon on...”