无法在Docker容器中创建文件

时间:2019-09-03 15:34:10

标签: docker

我试图创建一个用于在沙箱中运行代码的Docker映像,我想通过提供env变量作为url并使用curl下载并执行它来创建文件。

FROM gcc:4.9
WORKDIR /usr/src/
CMD curl ${CODE_FILE} -o code.c
CMD gcc -o myapp code.c
cmd ./myapp

似乎文件未创建 错误:

/bin/sh: 1: ./myapp: not found

1 个答案:

答案 0 :(得分:1)

看起来让CMDRUN感到困惑。

  • RUN允许在Docker映像构建阶段(也称为 layers )执行步骤。
  • CMD允许为执行中的容器提供默认值,还可以包含可执行文件。

鉴于此,这是您重构的Dockerfile

FROM gcc:4.9

WORKDIR /usr/src/
RUN curl ${CODE_FILE} -o code.c \
    && gcc -o myapp code.c

CMD [./myapp]