• DockerFile指令


    DockerFile是用来构建docker镜像的文件!实际上是个命令脚本

    构建步骤:

    1、编写一个dockerfile文件。

    2、docker bulid 构建成为一个镜像。

    3、docker run运行镜像。

    4、docker push 发布镜像(DockerHub、阿里云镜像仓库)。

    DockerFile构建过程:

    1、每个保留关键字(指令)都必须是大写字母,后面加空格,然后追加指令值。

    2、指令从上到下顺序执行。

    3、#标识注释

    4、每条指令都会创建提交一个新的镜像,并提交!

     DockerFile指令:

    FROM                      #基础镜像

    MAINTAINER         #镜像维护人;姓名+邮箱

    RUN                         #镜像构建时需要运行的命令

    ADD                         #Tomcat镜像,tomcat压缩包添加内容

    WORKDIR               #镜像工作目录

    VOLUME                 #挂载卷目录

    EXPOSE                 #暴漏端口

    CMD                       #指定容器启动时要运行的命令 CMD echo  "----end----"

    ENTRYPOINT        #指定容器启动时要运行的命令 同CMD区别是可以追加命令

    ONBUILD               #当构建一个被继承DockerFile时,执行ONBUILD指令,触发指令

    COPY                    #文件复制到镜像

    ENV                      #设置环境

    自己创建一个centos的dockerfile

    cd /home

    mkdir dockerfile

    vim dockerfile-centos

    内容如下

    FROM centos
    LABEL MAINTATNER="zbk<1546232926@qq.com>"

    ENV MYPATH /usr/local
    WORKDIR $MYPATH

    RUN yum -y install vim
    RUN yum -y install net-tools

    EXPOSE 80
    CMD echo "---build success----"
    CMD /bin/bash

    build镜像

    docker build -f dockerfile-centos -t mycentosplus:0.1 .

    运行镜像

    docker run -it mycentosplus:0.1 /bin/bash

    pwd                       查看当前默认工作路径已经指定为 /usr/local,即我们设置的ENV中的path。

    CMD和ENTRYPOINT的区别

    构建两个dockerfile文件,分别为dockerfile-cmd和dockerfile-entrypoint

    dockerfile-cmd内容如下:

    FROM centos

    CMD ["ls","-a"]

    dockerfile-entrypoint内容如下:

    FROM centos

    ENTRYPOINT ["ls","-a"]

    构建镜像后,同样执行命令 docker run ID -l,可以发现使用CMD构建的镜像会启动会报错,而ENTRYPOINT则可以正常的显示文件目录列表,得出结论:

    CMD 后不可追加命令执行,而ENTRYPOINT则可以。

  • 相关阅读:
    eclipse 提交代码至自己的github上
    今天是国庆
    我要完蛋了!!!
    C/C++知识点
    [c++]const增强
    [c++]指针作为函数参数传递的问题
    day3_JavaScript
    day2_HTML&CSS
    2017年度总结
    小游戏
  • 原文地址:https://www.cnblogs.com/kui-technology/p/13360561.html
Copyright © 2020-2023  润新知