为什么我的来自 ant 的 docker 命令没有执行?

Mar*_*lte 2 ant docker

我有一个简单的 docker 命令

$ docker rm 1234
> Error response from daemon: No such container: 1234
Run Code Online (Sandbox Code Playgroud)

将其集成到 ant 中可以得到:

<target name="demo">
    <exec executable="docker">
        <arg value="rm 1234" />
    </exec>
</target>

> ant -v demo
> demo:
     [exec] Current OS is Linux
     [exec] Executing 'docker' with arguments:
     [exec] 'rm 1234'
     [exec] 
     [exec] The ' characters around the executable and arguments are
     [exec] not part of the command.
     [exec] docker: 'rm 1234' is not a docker command. See 'docker --help'.
     [exec] Result: 1
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释 (a) 这种不同行为的来源以及 (b) 如何修复它(让 docker 从 ant-target 运行)?

ben*_*y23 5

您正在传递一个参数,您的蚂蚁相当于说

$ docker 'rm 1234'
Run Code Online (Sandbox Code Playgroud)

尝试

<target name="demo">
    <exec executable="docker">
        <arg value="rm" />
        <arg value="1234" />
    </exec>
</target>
Run Code Online (Sandbox Code Playgroud)