Docker容器技术

60课时
900学过
5分

课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
2分钟

14 RUN

功能:用于指定docker build过程中运行的程序,其可以是任何命令

格式:

RUN <comand> 或

RUN “<excutable>”, <parm1>”, <parm2>”

1、第一种格式中,<comand>通常是一个shel命令,且以“/bin/sh -c”来运行它,这意味着此进程在容器中的PID不为1,不能接收Unix信号,因此,当使用docker stop <container>命令停止容器时,此进程接收不到SIGTERM信号;

2、第二种语法格式中的参数是一个JSON格式的数组,其中<excutable>为要运行的命令,后面的<parmN>为传递给命令的选项或参数;然而,此种格式指定的命令不会以“/bin/sh -c”来发起,因此常见的shel操作如变量替换以及通配符(?,*等)替换将不会进行;不过,如果要运行的命令依赖于此shel特性的话,可以将其替换为类似下面的格式。

RUN “/bin/bash”, -c”, <excutable>”, <parm1>”

注意:json数组中,要使用双引号

示例:

vim Dockfile

docker build -t tinyhttpd:v9 ./

docker run -name tinyweb1 -rm tinyhttpd:v9 lscd /usr/local/src