关于Dockerfile中执行指令的两种模式

📅 2026/7/13 22:13:58 👁️ 阅读次数 📝 编程学习
关于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命令