在 dockerfile 中插入条件 运行 语句
Inserting a conditional RUN statement inside a dockerfile
我正在尝试编写一个 docker 文件,它将 运行 一个 运行 命令在 package.json 文件中搜索一个词并对其进行操作:
这是我的简单docker文件:
FROM ubuntu:14.04
COPY package.json package.json
RUN if grep -q "grunt" package.json; then echo succeed fi
如您所见,我只想要一个简单的 if 语句,但出现此错误:
Step 2 : RUN if grep -q "grunt" package.json; then echo succeed fi
---> Running in af460df45239
/bin/sh: 1: Syntax error: end of file unexpected (expecting "fi")
INFO[0001] The command [/bin/sh -c if grep -q "grunt" package.json; then echo succeed fi] returned a non-zero code: 2
我应该如何 运行 我的命令?
谢谢。
就像在 shell 处输入时一样,您需要在 fi
:
之前换行或分号
RUN if grep -q "grunt" package.json; then echo succeed; fi
add this ^
我正在尝试编写一个 docker 文件,它将 运行 一个 运行 命令在 package.json 文件中搜索一个词并对其进行操作:
这是我的简单docker文件:
FROM ubuntu:14.04
COPY package.json package.json
RUN if grep -q "grunt" package.json; then echo succeed fi
如您所见,我只想要一个简单的 if 语句,但出现此错误:
Step 2 : RUN if grep -q "grunt" package.json; then echo succeed fi
---> Running in af460df45239
/bin/sh: 1: Syntax error: end of file unexpected (expecting "fi")
INFO[0001] The command [/bin/sh -c if grep -q "grunt" package.json; then echo succeed fi] returned a non-zero code: 2
我应该如何 运行 我的命令? 谢谢。
就像在 shell 处输入时一样,您需要在 fi
:
RUN if grep -q "grunt" package.json; then echo succeed; fi
add this ^