Dockerfile RUN 同时执行多条命令

Dockerfile RUN 同时执行多条命令

Dockerfile RUN 同时执行多条命令

Dokcerfile中的命令每执行一条即产生一个新的镜像,当前命令总是在最新的镜像上执行。如下Dockerfile:

RUN cd /usr/share/ngnix/htmlRUN npm install

本来是想在/usr/share/nginx/html目录下执行npm install安装相关module的,但是第二条指令的执行目录并没有在我们希望的/usr/share/ngnix/html下,而是重新回到了/bin/sh根目录下执行。那么我们就必须得在同一条RUN指令中执行这两个命令,当然,也可以把相关目录直接拷贝到根目录下,不过这样会造成文件目录混乱,不建议使用这个办法。Dockerfile RUN同时执行多条命令格式如下所示:

RUN /bin/sh -c 'cd /usr/share/nginx/html/ && npm install'

要添加更多命令直接在后面添加&& your cmd即可。

推荐阅读