您的位置:首页 > 运维架构 > Docker

docker学习篇(11)--构建镜像下

2018-07-12 11:32 183 查看
容器运行时运行的命令
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)会在构建时插入触发器指令

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: