容器运行时运行的命令
1、CMD:容器运行时执行的指令,而RUN是构建时
1)shell模式:CMD command para1 para2..
2)exec模式:CMD [executable, param1, param2...]
3)CMD [para1, para2..] 然后与ENTERPOINT搭配使用作为其默认参数
※ docker run后面如果跟命令的话,会覆盖掉CMD命令
2、ENTYPOINT:与CMD相似,唯一的区别是不会被docker run后面的命令所覆盖
1)shell模式:ENTYPOINT command para1 para2..
2)exec模式:ENTERPOINT [executable, param1, param2...]
3)docker run --entrypoind
设置镜像的目录和文件
3、ADD :将文件或路径复制到dockerfile构建的镜像中
1)ADD src... dest
2)ADD ["src"... "dest"] 适用于文件路径中有空格的现象
3)包含类似tar的解压能力
4、COPY:将文件或路径复制到dockerfile构建的镜像中
1)COPY src... dest
2)COPY ["src"... "dest"] 适用于文件路径中有空格的现象
3)单纯复制推荐使用5、VOLUME :对创建的容器添加卷
1)VOLUME ["/data"]
2)可以实现数据共享或数据持久化功能
镜像在构建以及运行的环境设置
6、WORKDIR :容器内部设置工作目录,entrypoint或cmd命令都会在此目录下执行
1)WORKDIR /path/workdir
2)如果选择相对路径,则根据上下文进行传递
如:WORKDIR /1
WORKDIR 2
WORKDIR 3
当前目录是 /1/2/3
7、ENV:设置环境变量
1)ENV key value
2)ENV key=value....
8、USER:镜像会以什么样子的用户去运行
1)USER nginx:会以nginx是身份来运行容器
触发器指定
9、ONBUILD:给镜像添加触发器
1)当一个镜像被用作其他镜像的基础镜像时,会被触发
2)会在构建时插入触发器指令