• Docker----dockerfile


    DockerFile

    dockerfile是用来构建dokcer镜像的文件!命令參数脚本!
    构建步骤:
    1、编写一个dockerfile文件


    2.docker build构建成为一个镜像

    3,docker run运行镜像


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

     查看官方的镜像:

     

     

    Docker Hub 中99%镜像都是从这个基础镜像过来的FROM scratch,然后配置需要的软件和配置来进行的构建

     

    很多官方镜像都是基础包,很多功能没有,我们通常会自己搭建自己的镜像!
    官方既然可以制作镜像,那我们也可以!

    DockerFile构建过程


    很多指令:

    基础知识:
    1、每个保留关键字(指令)都是必须是大写字母

    2、执行从上到下顺序执行

    3、#表示注释

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

     

     

    dockerfile是面向开发的,我们以后要发布项目,做镜像,就需要编写dockerfile文件,这个文件十分简单!
    Docker镜像逐渐成为企业交付的标准,必须要掌握!

    步骤:开发,部罢,运维。。。缺一不可!
    Dockerile:构建文件,定义了一切的步骤,源代码

    Dockerlmages:通过DockerFile构建生成的镜像,最终发布和运行的产品!

    Docker容器:容器就是镜像运行起来提供服务器

    DockerFile的指令


    FROM               #基础镜镜像,一切从这里开始构建

    MAINTAINER      #镜像是谁写的,姓名+邮箱

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

    ADD                     #步骤:tomcat镜像,这个tomcat压缩包!添加内容

    WORKDIR             #镜像的工作目录

    VOLUME             #挂载的目录

    EXPOSE                #保留端口配置 

    CMD                      #指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代

    ENTRYPOINT        #指定这个容器启动的时候要运行的命令,可以追加命令

    ONBUILD              #当构建一个被继承DockerFile这个时候就会运行ONBUILD 的指令。触发指令。

    COPY                   #类似ADD,将我们文件拷贝到镜像中

    ENV                     #构建的时候设置环境变量!


    因为镜像是一个经过阉割的软件,我们在启动容器后,会发现这个容器并不是拥有原本软件的所有功能,如果我们希望做一个符合自己期望的容器,那么就可以使用dockerfile
    的技术创建一个符合自己要求的容器。

     但是我们可以构造自己的容器:

     使用自己的dockefile文件生成自己的镜像:

    docker build -f dockerfiler-centos -t mycentos:0.2 . (不要忘记最后的 ".")

    •  -f    指定dockerfile文件所在的目录
    • -t     生成的对象和版本

     

     我们可以通过docker    history   镜像id(或镜像名:tag)查看一个镜像的构建过程

     

     CMD和ENTRYPOINT的不同

    • CMD 命令是不能通过命令行进行追加的。
    • ENTRYPOINT命令是可以通过命令行进行追加操作的。

    我们制作两个dockerfile文件,一个使用CMD命令,一个使用ENTRYPOINT命令:

    1,CMD命令镜像

    直接运行会在容器生成运行之后执行ls -a的命令

     但是我们在启动容器的命令后面加上 -l并不会执行ls -a -l 的命令,因为-l命令会将ls -a覆盖,-l不是命令,所以会报错:

    不报错的话,我们只能使用完整的命令进行覆盖:

     2,接下来我们编写一个ENTRYPOINT命令的dockerfile制作镜像:

    但是我们可以在启动容器语句的最后面使用添加命令的方式,进行命令的补充

    因为是命令的补充不是重写,所以不能使用完整命令,否则会报错

    迎风少年
  • 相关阅读:
    Win10 蓝屏
    XE Button Color
    IOS 屏幕尺寸
    Delphi 转圈 原型进度条 AniIndicator 及线程配合使用
    Delphi 询问框 汉化
    Delphi Android 询问框
    Delphi BLE 控件
    浮点高低位赋值
    delphi 蓝牙 TBluetoothLE
    16进制字节转换
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/14025980.html
Copyright © 2020-2023  润新知