Dockerfile文件-RUN执行命令

RUN执行命令

RUN 有2种方式:

  • RUN <command> (如同执行shell命令 - /bin/sh -c)
  • RUN ["executable", "param1", "param2"] 

 RUN 指令将在当前image中执行任意合法命令并提交执行结果。命令执行提交后,就会自动执行Dockerfile中的下一个指令。

层级 RUN 指令和生成提交是符合Docker核心理念的做法。它允许像版本控制那样,在任意一个点,对image 镜像进行定制化构建。

 exec form 格式让执行没有  /bin/sh.的命令变的可行。

 RUN 指令缓存不会在下个命令执行时自动失效。比如 RUN apt-get dist-upgrade -y 的缓存就可能被用于下一个指令. --no-cache 标志可以被用于强制取消缓存使用。

 RUN 的缓存可以被 ADD 指令置为失效了。

已知的bug(RUN)

  • Issue 783这是一个发生的AUFS文件系统上的权限问题