2017-09-28 56 views
0

我已经将Docker Toolbox下载到Windows 7机器上,但发现除非在使用命令提示符时运行特定的“FOR”命令,否则无法运行Docker。从Eclipse设置的Docker工具箱

从不同的堆栈溢出问题,继指示,我知道跑:

docker-machine env default 

它返回是这样的:

SET DOCKER_TLS_VERIFY=1 
SET DOCKER_HOST=tcp://ip.address 
SET DOCKER_CERT_PATH=path\to\default 
SET DOCKER_MACHINE_NAME=default 
SET COMPOSE_CONVERT_WINDOWS_PATHS=true 
REM Run this command to configure your shell: 
REM  @FOR /f "tokens=*" %i IN ('docker-machine env default') DO @%i 

运行在命令行下命令允许终端会话然后运行docker命令直到它关闭,然后在重新打开时需要再次运行。

虽然这不是一个问题,但我试图找到一种方法,我可以通过ant设置这个环境,以便在现有的ant版本中运行一些docker命令。

到目前为止,我曾尝试:

<exec command="REM  @FOR /f &quot;tokens=*&quot; %i IN (&apos;docker-machine env default&apos;) DO @%i 

随着制作一个单独的批处理文件中的命令,并要求它通过我的构建,但每次都会有或者没有错误,然后泊坞窗命令不时间工作或沿线

无法运行程序“FOR”; CreateProcess错误= 2,系统找不到指定的文件。

+0

'command'属性已被弃用,不应再使用。相反,尝试将它们分成单独的元素;一个用于由空格分隔的命令的每个部分。这就是说,我认为你误解了最后一行。 “REM”用于向脚本添加注释,并将其作为命令的一部分加入。 – CAustin

+0

好的,谢谢,我会尝试下一步。我忘了提及,当我制作批处理文件时,它在从命令行运行时运行正常,但不是通过ant从Eclipse运行。 –

+0

即使拆分为参数值元素我也会得到相同的错误 “无法运行程序”FOR“; CreateProcess错误= 2,系统找不到指定的文件。 –

回答

0

对于任何遇到此问题的人来说,在Windows系统属性中设置环境变量就是修复。

我写我的构建中的小目标要做到这一点成立,所有你需要做的是填补值与输出:

docker-machine env default 

,以适应这种格式:

<exec executable="setx"> 
    <arg value="DOCKER_TLS_VERIFY"/> 
    <arg value="1"/> 
</exec> 

SETX是用于设置环境值的程序,但在运行这些命令后第一次需要重新启动Eclipse,但在此之后,您将能够通过命令行或通过Eclipse运行Docker命令,而无需执行任何设置。