Dockerfile RUN 同时执行多条命令
Dokcerfile中的命令每执行一条即产生一个新的镜像,当前命令总是在最新的镜像上执行。如下Dockerfile:
RUN cd /usr/share/ngnix/html
RUN 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
即可。