• DockerFile 快速入门


    DockerFile是什么?

    Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。

    Dockerfile和Docker镜像的关系就像是java源代码和执行文件class的关系。

    使用DockerFile构建镜像的步骤。

    编写DockerFile文件—> docker build —> docker run

    长什么样?

    编写DockerFile内容的注意事项

    1. 每条保留字指令都必须为大写字母,而且后面必须跟随至少一个参数。
    2. 指令从上到下,顺序执行
    3. '#'表示注释
    4. 每条指令都会创建一个新的镜像层,并对镜像进行提交。

    Docker执行DockerFile的大致流程

    1. docker从基础镜像运行一个容器
    2. 执行一条指令并对容器做出修改
    3. 执行类似docker commit的操作,提交一个新的镜像层
    4. docker在基于新提交的镜像运行一个新的容器
    5. 执行DockerFile中的下一条指令,直到所有指令执行完成

    DockerFile的保留字指令

    FROM  #基础镜像,当前新的镜像是基于那个镜像
    
    MAINTTAINER  # 维护镜像人的姓名和邮箱(作者)
    
    RUN # 容器构建时需要执行的命令
    
    EXPOSE # 当前容器对外暴露的端口号
    
    WORKDIR  # 指定在创建容器后,终端默认登录进来的工作目录 
    
    ENV  # 用来在构建镜像过程中设置环境变量
    
    ADD  # 复制一个文件并解压缩
    
    COPY  #单纯复制一个文件
    
    VOLUME  #容器数据卷,用于数据保存和持久化工作
    
    CMD  # 指定一个容器启动后,运行的命令(可以有多个CMD指令,但是只有最后一个生效。CMD会被docker run之后的参数替换)
    
    ENTRYPOINT  #指定一个容器启动后,运行的命令 
    
    ONBUILD  #类似于触发器,当构建一个被继承的Dockerfile时运行命令,父镜像在被子镜像继承后,父镜像的onbuild会被触发
    
    

    案例

    1.编写Dockerfile

    FROM centos  #基础镜像 
    
    MAINTTAINER zjj<1161493927@qq.com>  #作者和邮箱
    
    ENV MYDIVPATH /usr/local  # 环境变量
    WORKDIR $MYDIVPATH  #使用定义的环境变量作为终端登录进来的默认目录
    
    RUN yum -y install vim  #执行的命令
    RUN yum -y install net-tools   #执行的命令
    
    EXPOSE 81  #对外暴露的端口 
    
    CMD echo "success"  # 指定一个容器启动后,运行的命令
    CMD /bin/bash  # 指定一个容器启动后,运行的命令
    
    1. 通过Dockerfile构建Docker镜像
    docker build -f 构建的DockerFile文件位置 -t 生成的镜像文件名 . #最后有个点别忘了,代表当前目录
    #例子
    docker build -f /mydocker/Dockerfile -t zjj/mycentos:1.1 .
    
    1. 查看

    docker images

    1. 运行

    docker run -it 新镜像名:版本号

    1. 查看镜像的变更历史

    docker history 镜像名或镜像ID

  • 相关阅读:
    IDEA中使用devtools配置Maven项目热部署
    Nginx配置文件上传最大限制,解决提示 client intended to send too large body
    开源文件文档在线预览项目解决方案kkFileView本地搭建运行与Docker部署运行
    SpringCloud和SpringBoot之间的依赖关系如何查看
    Vue中使用mavonEditor插件实现markdown在线编辑
    Vue中使用vuecodemirror插件实现代码在线编辑
    Windows上安装rabbirmq(包括安装erlong环境与配置环境变量)
    如何进行回归测试
    python所有的内置异常类型汇总
    有点难度的高级软件测试面试题
  • 原文地址:https://www.cnblogs.com/kkdaj/p/12864747.html
Copyright © 2020-2023  润新知