zoukankan      html  css  js  c++  java
  • Docker镜像的创建、存出、载入

    创建镜像的方法有三种:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建,本博文讲解前两种。

    基于已有镜像的容器创建

    该方法是使用docker commit命令,其命令格式为:

    主要参数选项包括:

    • -a ,–author=”” 作者信息
    • -m,–message=”” 提交信息
    • -p,–pause=true 提交是暂停容器运行

    比如,先创建一个运行bash的ubuntu容器:

    然后根据创建的这个容器来提交一个新的镜像,提交时需要用到容器ID。

    如果成功的话,就会返回新镜像的长ID号,然后可以查看看在本地已有的镜像:

    第三行就是刚刚创建的镜像。

    PS:利用此容器创建的镜像Id与此容器的镜像id不同,可知它们不是同一镜像。

    基于本地模板导入

    也可以从操作系统模板文件导入一个镜像,比如使用OpenVZ提供的模板创建,OPENVZ下载模板在:http://openvz.org/Download/template/precreated。

    我尝试使用了Ubuntu14.04的模板:

    下载完之后就可以导入了:

    其实只是两个命令,不过很显而易见,就不加解释了。成功的话,就会返回根据模板建立的镜像的长ID

    sudo cat ubuntu14.04x86_64minimal.tar.gz docker import – ubuntu:14.04
    ab80404d13d580965b9919b640169ccb585ea7884e6aa9de1ec043075c65fe35

    然后就可以查看本地的镜像:

    其实可以看出,虽然模板才75M,但创建的镜像并不小。

    镜像的存出和载入

    可以利用docker save和docker命令来存出和载入镜像。

    存出镜像

    如果想要把镜像存出到本地文件,可以使用docker save命令,例如,存出本地的刚才创建的testimage:lastest为镜像文件testimage.tar文件:

    上面的第6行就是存出代码,这时在/data下就有一个testimage.tar文件,这时我们把本地镜像rmi掉,然后尝试载入。

    载入镜像

    删除镜像之后的状态:

    然后载入镜像:

    docker load input testimage.tar
    docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    ubuntu              14.04               ab80404d13d5        minutes ago       215.4 MB
    testimage           latest              baea98d5a437        35 minutes ago      188.3 MB

    第一行就是载入镜像,还可以简化写成:

    载入操作将会导入镜像以及相关的元数据信息(包括标签等)。

    镜像的上传

    最后说点镜像的上传,镜像的管理方式非常像git,可以使用docker push命令上传自己本地镜像到仓库,默认上传到DockerHub官方仓库(需要登陆),命令格式:

    在上传之前一般会先为自己的镜像添加带自己名字(作者信息)的标签:

    有利于上传之后的区分。

    我觉得无论是运维团队还是开发团队还是一个实验室,都有必要有一个自己的Docker仓库,可以存放符合自己需求的环境或系统镜像,可以实现快速部署。

    转自:梦续代码

  • 相关阅读:
    页面的加载过程
    free 命令
    linux chmod命令(转)
    less 命令(转)
    cat 命令(转)
    cp 命令(转)
    mv命令(转)
    rm 命令(转)
    mkdir命令
    Docker网络基础
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/5720792.html
Copyright © 2011-2022 走看看