在docker文件中插入条件RUN语句 [英] Inserting a conditional RUN statement inside a dockerfile
本文介绍了在docker文件中插入条件RUN语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的简单的docker文件:
FROM ubuntu:14.04
COPY package.json package.json
运行如果grep -qgruntpackage.json;然后回声成功fi
,你可以看到我只想要一个简单的if语句,但它得到这个错误:
步骤2:运行如果grep -qgruntpackage.json;然后回声成功fi
--->运行在af460df45239
/ bin / sh:1:语法错误:文件结束意外(期望fi)
INFO [/ bin / sh -c如果grep -qgrunt package.json;然后回声成功fi]返回一个非零代码:2
我应该如何运行我的命令?
谢谢。
解决方案
就像在shell上打字一样,您需要在$ $之前加上换行符或分号c $ c> fi :
运行如果grep -qgruntpackage.json;然后回声成功; fi
添加这个^
I am trying to write a docker file which will run a RUN command to search for a word in a package.json file and act upon it:
this is my simple dockerfile:
FROM ubuntu:14.04
COPY package.json package.json
RUN if grep -q "grunt" package.json; then echo succeed fi
as you can see i just want a simple if statement but it get this error:
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
How should i run my command? thanks.
解决方案
Just like when typing at the shell, you need either a newline or a semicolon before fi
:
RUN if grep -q "grunt" package.json; then echo succeed; fi
add this ^
这篇关于在docker文件中插入条件RUN语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文