• 【Docker】——镜像


    一、常用命令

    1. 概念

    <1>镜像是一种轻量级的,可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成和一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。
    <2>只有通过这个镜像文件才能生成Docker容器实例(类似Java中new出来的一个对象)

    2. 分层的镜像

    <1> 方便资源共享,复制迁移
    <2> Docker 镜像层都是只读的,容器层是可写的
    当容器启动时,一个新的可写层被加载到镜像的顶部,这一层通常被称为容器层,容器层之下都叫镜像层

    3. 联合文件系统

    <1> UnionFS(联合文件系统):是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(union serveral directories into a single virtual file system)。Union文件系统 是Docker 镜像的基础,镜像可以通过分层进行继承,基于基础镜像,可以制作各种具体的应用镜像。
    <2>一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录

    4. commit

    <1>

    docker commit
    
    • 1

    提交容器副本使之成为一个新的镜像
    <2>

    docker commit -m=”提交的描述信息” -a=”作者” containerID imagename:[标签名]
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    5. 总结

    在这里插入图片描述

    6. 镜像发布

    在这里插入图片描述

    <1>私有仓库

    Docker Registry 官方提供的工具,可以用于构建私有镜像仓库

    <2>下载Docker Registry

    docker pull registry
    
    • 1

    <3>运行私有库Registry

    docker run -d -p 5000:5000 -v /ghc/mregistry/tem/registry registry
    
    • 1

    在这里插入图片描述

    <4>创建私有镜像

    详见commit命令

    <5>crul 验证私服库上有什么镜像

    curl -XGET http://host:5000/v2/_catalog
    
    • 1

    在这里插入图片描述

    <6>将私有镜像修改符合私服规范的Tag

    docker tag imagename:Tag Host:Port/Registry:Tag
    
    • 1

    在这里插入图片描述

    <7>修改配置文件使之支持http

    docker默认不允许http方式推送镜像,通过配置取消限制,修改完重启docker
    在这里插入图片描述

    {
            "registry-mirrors":["https://aa25jngu.mirror.aliyuncs.com"],
            "insecure-registries":["182.157.138.113:500"]
    }
    
    • 1
    • 2
    • 3
    • 4
    systemctl daemon-reload
    systemctl restart docker
    
    • 1
    • 2

    <8>push

    docker push Host:Port/Registry:Tag
    
    • 1

    在这里插入图片描述

    <9>curl 验证私服库上有什么镜像

    curl -XGET http://host:5000/v2/_catalog
    
    • 1

    在这里插入图片描述

    <10> pull

    docker pull Host:Port/Registry:Tag

  • 相关阅读:
    Linux驱动开发:内核模块和字符设备驱动
    计算机网络期末复习——简明扼要介绍考点及相关知识
    Android学习
    【优化算法】最小均值 (LMF) 和最小均方 (LMS) 算法【含Matlab源码 2134期】
    Go语言进阶,结构体与json字符串格式的互相转换
    SRC中逻辑漏洞检查总结
    Buff/Cache概念和清理方法
    Java基础(二十五):JDBC
    kkFileView源码编译并发布详细教程
    通过sudo su root不需要输入root密码,只需要输入普通账号密码
  • 原文地址:https://blog.csdn.net/qq_42000631/article/details/126298123