zoukankan      html  css  js  c++  java
  • Docker镜像管理

    Docker镜像管理
    # 创建镜像
    镜像的创建有以下几种方法:
    使用ISO镜像:回顾下OpenStack,我们在创建虚拟机的时候,首先使用iso安装定制了镜像上传到Glance上面,对于Docker来说,我们同样可以使用ISO镜像来制作基本镜像。
    使用工具制作镜像:不同的操作系统都提供了相应的工具来让用户创建Docker镜像,比如Centos可以使用febootstrap。debian/ubuntu使用debootstrap。
    基于本地模板导入:Docker支持从一个操作系统模板文件导入一个镜像。
    
    一般我们都是使用一些公共的基础镜像,然后在这个基础上,再根据自身需求进行定制。比如后面要讲到的Docker File的方式,来创建镜像。
    
    # 获取镜像
    既然有了Docker Hub,我们就不要重复造轮子了,直接下载一个官方提供的centos镜像吧。
    [root@linux-node1 ~]# docker pull centos
    Using default tag: latest
    latest: Pulling from library/centos
    8a29a15cefae: Pull complete 
    Digest: sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
    Status: Downloaded newer image for centos:latest
    docker.io/library/centos:latest
    
    # 查看镜像
    [root@linux-node1 ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    centos              latest              470671670cac        2 months ago        237MB
    
    REPOSITORY:镜像来自于哪个仓库
    TAG:镜像的标签。用来标记镜像的不同版本等。
    IMAGE ID:镜像的唯一ID。
    CREATED:镜像创建时间。
    VIRTUAL SIZE:镜像的大小。
    
    # 镜像的导入导出
    如果你想把自己的镜像传给别人怎么办,Docker提供了导入和导出的命令:
    
    导出镜像
    [root@linux-node1 ~]# docker save -o centos.tar centos
    
    导入镜像
    将导出的镜像scp到另外的一台机器上后做导入。
    [root@linux-node2 ~]# docker load --input centos.tar
    
    或者使用重定向进行导入
    [root@linux-node2 ~]# docker load < centos.tar
    
    Docker镜像这种导入和导出是完整,可以看到镜像ID等都没有发生改变。
    [root@linux-node2 ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    centos              latest              470671670cac        2 months ago        237MB
    
    # 删除镜像
    使用docker rmi命令可以删除本地的镜像,可以使用镜像的标签或者镜像的ID。他们两者之间是不同的。
    
    docker rmi 标签:会删除指定标签的镜像,但是镜像本身不会被删除,因为一个镜像对象可以有多个标签,就像Linux文件的硬链接,当镜像只剩下一个标签的时候,使用标签删除镜像,才会删除镜像本身。
    
    docker rmi ID:使用镜像的ID删除镜像,会先删除该镜像的所有标签,然后再删除镜像文件本身。
    
    注意:如果镜像创建的容器存在时,镜像是无法被删除的。不过你可以使用-f的参数强制删除镜像,并不建议这么做。
    
    看起来Docker的镜像操作是比虚拟机要便捷的多,目前来说使用几个简单的命令,就可以完成镜像的管理工作,不过这还只是基础。
    
    [root@linux-node1 ~]# docker rmi 470671670cac
    
    [root@linux-node1 ~]# docker load < /disk/centos.tar 
    0683de282177: Loading layer [==================================================>]  244.9MB/244.9MB
    Loaded image: centos:latest
  • 相关阅读:
    自动化测试初介
    接口测试初介
    常见测试面试过程及及问题解析
    hadoop伪分布式平台组件搭建
    使用Github搭建个人博客
    centos7中redis安装配置
    Hive安装配置
    hadoop大数据组件启动
    Java生成窗口
    正则语法
  • 原文地址:https://www.cnblogs.com/zhouwanchun/p/12560372.html
Copyright © 2011-2022 走看看