• Docker.镜像管理


    镜像管理

    0.前言

    <镜花缘>
    咱们世界也许也是在一个容器中...

    0.环境

    [root@VM_0_12_centos docker]# docker -v
    Docker version 19.03.11, build 42x35exxfx
    

    1.拉取镜像

    1.1.官方镜像
    [root@VM_0_12_centos ~]# docker image pull ubuntu:14
    Error response from daemon: manifest for ubuntu:14 not found: manifest unknown: manifest unknown
    

    经验+1
    //版本号写错了...

    [root@VM_0_12_centos ~]# docker image pull ubuntu:14.04
    14.04: Pulling from library/ubuntu
    Get https://registry-1.docker.io/v2/library/ubuntu/manifests/sha256:bd0223687054d0f8884fc9e872392c6385a3195d612400495962e270b572ed06: net/http: TLS handshake timeout
    

    失败+2
    //需要梯子...→

    [root@VM_0_12_centos docker]# docker pull mysql:5.7
    

    //换了一个镜像拉取,还是特别慢...先去找个比较小的镜像去,再回来拉取...
    //功夫不负有心人,终于找到了hello-world先生

    [root@VM_0_12_centos docker]# docker pull hello-world
    
    1.2.私有库
    docker pull quay.io/coreos/flannel:y0.10.0-amd64
    

    2.搜索镜像

    2.1.在docker hub网站上搜索
    官方网站:dockerHub
    非常方便,
    找到之后,提供温馨的复制服务:"Copy and paste to pull this image"...


    2.2.Docker 命令行

    [root@VM_0_12_centos docker]# docker search hello-world
    

    Docker版本"19.03.11"返回4列:
    ["Name","Description","Official","AutoMated"]
    ["名字","描述","官方","自动"]
    //前3列都好理解,但是自动不自动怎么区分?


    3.查询镜像

    [root@VM_0_12_centos docker]# docker images -a
    

    //发现了好多不正经的显示为的镜像,
    不管他们是什么,但是看着好别扭,删除了在说,宁删错不放过...




    4.删除镜像

    4.1.删除无tag的镜像

    [root@VM_0_12_centos docker]# docker rmi 39d780c0df44
    Error response from daemon: conflict: unable to delete 39d780c0df44 (must be forced) - image is being used by stopped container 99f48fd6254d
    

    经验+1
    //已经有容器使用了,哪怕这个容易已经停用了...

    #容器.查看.所有
    [root@VM_0_12_centos docker]# docker ps -a
    
    #容器.删除.指定Id.错误示范
    [root@VM_0_12_centos docker]# docker rmi 99f48fd6254d
    Error: No such image: 99f48fd6254d
    
    #容器.删除.指定Id.成功
    [root@VM_0_12_centos docker]# docker rm 99f48fd6254d
    99f48fd6254d
    

    经验+1
    //删除容器失败,知道了["rmi","rm"]的区别了,{rmi}不能用于删除容器,
    //{rmi}比{rm}多出的那个{i}就是指的{image}?

    #镜像.删除.继续...
    [root@VM_0_12_centos docker]# docker rmi 39d780c0df44
    Error response from daemon: conflict: unable to delete 39d780c0df44 (must be forced) - image is being used by stopped container ac06cae637d7
    

    经验+1...
    //竟然除了那个容器在使用这个镜像,还有其它容器在使用...
    //万一再有百八十个容器使用了这个镜像,
    //我需要重复["删除容器","试图删除镜像"]重复百八十遍...?

    //我想查找引用了这个镜像的有哪些容器..未果...So...↓

    #容器.删除.全部
    docker rm $(docker ps -aq)
    

    //tar .git?
    //啥是tag?"未将引用设置到对象的实例"..tag就是那个引用,image就是tag指向那个对象.


    4.2.删除正在使用的镜像

    [root@VM_0_12_centos docker]# docker rmi -f 39d780c0df44
    

    摘抄文档

  • 相关阅读:
    在github上用octopress搭建博客过程纪要
    各自用一句话来概括MVC、MVP、MVVM的差异特点
    二级域名使用下划线
    knockout.js的学习笔记2
    knockout.js的学习笔记
    knockout.js的学习笔记4
    利用GitHub Pages安装部署Octopress博客
    安装.net framework 4.0失败,出现HRESULT 0xc8000222错误代码
    版本控制工具GitHub发布Windows版
    C#多线程中 lock用法
  • 原文地址:https://www.cnblogs.com/love-zf/p/13670386.html
Copyright © 2020-2023  润新知