关于Dockerfile中执行指令的两种模式
shell模式:RUN cd / && mkdir data .......
- RUN指令后,使用shell中一样的指令格式
- 调用/bin/sh -c 执行命令,/bin/sh -c "cd / && mkdir data ......."
- 可以执行连续的多个命令
exec模式:RUN ["mkdir","-p","/data/exec"]
- 不会调用/bin/sh执行命令,类似执行exec "mkdir" "-p" "/data/exec"
- 只能执行一条命令
- 要执行多条命令,定义多个RUN或者RUN ["/bin/bash","-c","mkdir /three && cd /three && touch 3.txt"],其实也是执行一个命令,执行bash命令