美文网首页
四、Docker-构建自己的Docker镜像

四、Docker-构建自己的Docker镜像

作者: 一直想上树的猪 | 来源:发表于2019-08-08 16:33 被阅读0次

    准备工作

    一台虚拟机
    一个centos镜像
    centos镜像中装了docker
    需求:构建一个安装了vim的centos镜像

    一、方法一

    • 首先我们去pull一个centos
    docker pull centos
    
    • 然后运行centos
    docker run -it centos
    
    • 之后在centos容器中安装vim:
    yum install -y vim
    
    • 退出镜像exit,然后先查看镜像,根据镜像名称去构建image
    docker commit nice_shockley tinner/centos-vim
    

    至此,构建完毕。
    但是此种方法有个弊端:我们是基于已经构建好的镜像去安装东西然后commit产生镜像的, 但是可能我们在安装的时候会产生一些不安全的因素,所以并不推荐用这种方法去构建镜像,因此我们大多数情况下还是推荐用方法二

    二、方法二(通过Dockerfile文件)

    • 首先我们创建一个Dockerfile文件:
    FROM centos
    RUN yum install -y vim
    
    • 然后build:
    docker build -t tinner/centos-vim .
    

    三、原理

    在build的时候,我们知道:image是只读的,不能在其之上进行读写,要想读写只能在其container之上,其实它底层用的也是方法一:我们在build之后观察控制台可以发现:


    build控制台

    在第二步开始的时候产生了一个临时的container的id,然后基于这个临时的container去进行安装vim,安装完成之后:


    image.png
    将这个临时的container移除掉之后又产生了一个随机的id,build成功之后将这个id作为新的image的id

    相关文章

      网友评论

          本文标题:四、Docker-构建自己的Docker镜像

          本文链接:https://www.haomeiwen.com/subject/mrnxjctx.html