Windows上的DOCKER_HOST环境变量

时间:2016-09-14 09:49:36

标签: 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)on project integration-test:执行docker-build-start of goal io.fabric8: docker-maven-plugin:0.15.16:构建失败:没有给出<dockerHost><machine>,没有DOCKER_HOST环境变量,也没有可读/可写&#39; /var/run/docker.sock&# 39; - &GT; [帮助1]

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

<dockerHost>tcp://0.0.0.0:2376</dockerHost>

显示以下结果。

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

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

6 个答案:

答案 0 :(得分:7)

在带有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

答案 1 :(得分:3)

经过近一天毫无结果的谷歌搜索,我自己找到了这个解决方案。琐碎,但可能仍然可以帮助他人。

expose Docker daemon

您需要在设置 - &gt;下启用“展示守护程序...”复选框。一般

答案 2 :(得分:3)

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

  

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

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

sudo chmod 776 /var/run/docker.sock

在Windows上浏览本文:Microsoft article

答案 3 :(得分:0)

如果有人只是想跳过 fabric8 docker-maven-plugin执行,阻止构建成功而导致错误

  

没有给定,没有DOCKER_HOST环境变量,没有   可读/可写&#39; /var/run/docker.sock'或&#39; //./ pipe / docker_engine&#39;和   没有像Docker机器配置的外部提供商

然后可以根据https://dmp.fabric8.io/#global-configuration -Ddocker.skip=true使用if(isFound>-1) { alert("href='//www.example.com/"+myArray[i]+"path/index.html"); } 来实现。

答案 4 :(得分:0)

如果您在Eclipse中使用Window和Maven来构建Java项目 但继续看到该错误,则必须执行以下步骤:

第一步:

您需要启用“设置”->“常规”下的“在...上公开守护程序”复选框 正如@Adriaan Koster

所述

如果步骤1无法解决问题,则

第2步:在管理模式下运行Eclipse。 现在它应该可以正常工作了。

答案 5 :(得分:-1)

如果使用工具箱,请使用docker-machine。

            <machine>
                <name>default</name>
                <autoCreate>true</autoCreate>
                <createOptions>
                    <driver>virtualbox</driver>
                    <virtualbox-cpu-count>2</virtualbox-cpu-count>
                </createOptions>
            </machine>