【问题标题】:Docker Toolbox on Windows set up from Eclipse从 Eclipse 设置 Windows 上的 Docker Toolbox
【发布时间】:2017-09-28 16:07:51
【问题描述】:

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

按照我知道要运行的另一个 Stack Overflow 问题的说明:

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

除了使用命令创建一个单独的批处理文件并通过我的构建调用它,但每次都没有错误,然后 docker 命令不起作用或类似于

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

【问题讨论】:

  • command 属性已弃用,不应再使用。相反,尝试将它们拆分为单独的 &lt;arg value="" /&gt; 元素;一个用于命令的每个部分,用空格分隔。也就是说,我认为你误解了最后一行。 REM 用于将 cmets 添加到脚本中,并且您将其作为命令的一部分。
  • 好的,谢谢,我下次试试。我忘了提到,当我制作批处理文件时,它在从命令行运行但不是通过 ant 从 Eclipse 运行时运行良好。
  • 即使拆分为 arg 值元素,我也会收到相同的错误“无法运行程序“FOR”;CreateProcess 错误=2,系统找不到指定的文件。”
  • 我很确定您需要运行的可执行文件是powershell。第一个 arg 值应为 FOR。这是假设您实际上想要运行该代码。同样,最后两行是cmets。如果您要将整个内容复制到批处理文件中并运行它,最后两行将不会运行。
  • 我已经尝试过使用 powershell 和第一个 arg 值作为 FOR 但我现在收到错误消息“在关键字 'For' 之后缺少 '(' ”。尝试添加括号作为参数,但这会带来出现关于“UnrecognizedToken”的不同错误

标签: eclipse docker ant docker-toolbox


【解决方案1】:

对于遇到此问题的任何其他人,在 Windows 系统属性中设置环境变量是解决方法。

我在我的构建中编写了一个小目标来进行此设置,您需要做的就是使用以下输出填充值:

docker-machine env default

为了适应这种格式:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多