zoukankan      html  css  js  c++  java
  • 创建docker镜像的两种方式


    1. docker commit方式
    检查一下已有镜像和容器
    docker images

    docker container ls
     


    这里我们选择对centos进行自定义镜像

    交互式运行centos容器
    docker run -it centos

    由此我们进入了centos容器 
     
    运行后发现,官方提供的centos镜像中并没有提供vim工具,这里我们选择对centos镜像增添vim工具,最后生成我们自定义的镜像 


    centos容器中安装vim工具
    yum install vim
     


    vim安装成功

    退出centos交互式程序
    exit
     


    现在我们就有了一个经过我们自定义的container 


    根据自定义的centos容器生成image
    docker commit dockerid XXXXX/centos-vim

    现在我们就有了安装了vim之后的centos镜像 


    自定义镜像和原始镜像之间的关系


    2. Dockerfile创建镜像
    使用Dockerfile是更推荐的方式,这样可以让使用者更清晰地看到这个镜像的制作细节

    创建对应的目录
    mkdir centos-vim

    编写Dockerfile文件
    FROM centos:7
    RUN yum install -y vim


    docker build
    docker build -t XXXXX/centos-vim2 .
     


    过程解析
    docker镜像是只读的,这里为什么能够在centos镜像的基础上进行自定义操作呢? 
    我们看一下docker的编译过程 
     
    编译的第一步(绿色边框)会复用之前已经存在的centos:7 
    重点是第二步 
    882832c2b8eb其实是在centos:7镜像的基础上生成的一个临时container的id 
    我们忽略vim的安装过程,跳到最后 
     
    最后根据临时生成的container来docker commit 生成镜像文件,最后删除临时container

  • 相关阅读:
    c#驱动操作mongodb辅助类MongoDBHelper
    c#多线程lock无效
    利用Aspose.Words将html转成pdf和将html转成word
    前后端值映射的问题
    本机部署流程详解
    Git 安装配置手册
    js对象数组(JSON) 根据某个共同字段 分组
    jquery中的$.fn的用法
    JSON.parse()与JSON.stringify()的区别
    添加编辑 时 数据不可重复验证
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317386.html
Copyright © 2011-2022 走看看