zoukankan      html  css  js  c++  java
  • 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则可以。

  • 相关阅读:
    Python的Crypto模块使用:自动输入Shell中的密码
    算法之动态规划初步(Java版)
    基于ZXing的二维码,你可以这样改造它
    Java字符编码的转化问题
    第一个Hadoop程序——WordCount
    Hadoop的学习前奏(二)——Hadoop集群的配置
    Linux下的一些问题收集及解决方法(二)
    Python的捕虫笔记
    Hadoop的学习前奏(一)——在Linux上安装与配置Hadoop
    Android SnackBar:你值得拥有的信息提示控件
  • 原文地址:https://www.cnblogs.com/kui-technology/p/13360561.html
Copyright © 2011-2022 走看看