如何在Dockerfile中将任意命令编码为exec表单?

时间:2014-12-02 08:23:03

标签: docker

在Dockerfile中,RUN有两种形式:

  • RUN <command>(该命令在shell中运行 - / bin / sh -c - shell形式)
  • RUN ["executable", "param1", "param2"](执行形式)

如何将>>><&& ||编码为执行形式?


这是一个非常简单的dockerfile。我想重写RUN <command>作为执行形式 但我不知道如何。

# Dockerfile
FROM ubuntu:14.04
RUN date > /tmp/out && echo 'hello world' >> /tmp/out
CMD cat /tmp/out

1 个答案:

答案 0 :(得分:5)

根据https://docs.docker.com/engine/reference/builder/#/run

  

与shell表单不同,exec表单不会调用命令shell。这意味着不会发生正常的shell处理。

因此,我认为没有直接的方法可以使用这些由shell解释的字符(例如>>><&&,{{1} })以exec形式。