docker - (二)基础篇之Docker镜像、本地镜像发布到阿里云、本地镜像发布到私有库

本文介绍Docker镜像的基础概念,包括其分层结构和如何通过commit操作创建自定义镜像。此外,还详细讲解了如何将本地镜像发布到阿里云及私有仓库的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、Docker镜像

二、本地镜像发布到阿里云

三、本地镜像发布到私有库


一、Docker镜像

    是什么:

        是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件

        只有通过这个镜像文件才能生成Docker容器实例(类似Java中new出来一个对象)
    

    分层的镜像:

        以我们的pull为例,在下载的过程中我们可以看到docker的镜像好像是在一层一层的在下载

      UnionFS(联合文件系统):

      Docker镜像加载原理:


   

     为什么 Docker 镜像要采用这种分层结构呢:

     重点理解:

    Docker镜像commit操作案例:

        作用:docker commit提交容器副本使之成为一个新的镜像

        命令:docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

        案例演示ubuntu安装vim:

                1. 从Hub上下载ubuntu镜像到本地并成功运行

                2. 原始的默认Ubuntu镜像是不带着vim命令的

                3. 外网连通的情况下,安装vim

                 4. 安装完成后,commit我们自己的新镜像

                 5. 启动我们的新镜像并和原来的对比

 

二、本地镜像发布到阿里云

本地镜像发布到阿里云流程:

 将本地镜像推送到阿里云:      

  1. 创建本地镜像
  2. 登录阿里云开发者平台:https://promotion.aliyun.com/ntms/act/kubernetes.html
  3. 创建仓库镜像:

                1.选择控制台,进入容器镜像服务

                 2. 选择个人实例

                3. 创建命名空间


                4. 仓库名称


   
                5. 进入管理界面获得脚本

 

 4. 将镜像推送到阿里云:将镜像推送到阿里云registry
        管理界面脚本:直接按照命令复制


        脚本实例

 5. 将阿里云上的镜像下载到本地:阿里云管理界面有对应的命令

 三、本地镜像发布到私有库

 本地镜像发布到私有库流程:

 是什么?

 将本地镜像推送到私有库:

1. 下载镜像Docker Registry

 2. 运行私有库Registry,相当于本地有个私有Docker hub

 3. 案例演示创建一个新镜像,ubuntu安装ifconfig命令:

        下载ubuntu镜像到本地并成功运行
        原始的Ubuntu镜像是不带着ifconfig命令的


        外网连通的情况下,安装ifconfig命令并测试通过


        安装完成后,commit我们自己的新镜像             

                公式:

                docker commit -m="提交的描述信息" -a="作者容器ID 要创建的目标镜像名:[标签名]

                命令:在容器外执行,记得

                docker commit -m="ifconfig cmd add" -a="zzyy" a69d7c825c4f zzyyubuntu:1.2

        启动我们的新镜像并和原来的对比

 

4. curl验证私服库上有什么镜像?

         命令: curl -XGET http://linux主机ip:5000/v2/_catalog     

5. 将新镜像zzyyubuntu:1.2修改符合私服规范的Tag:

        按照公式: docker   tag   镜像:Tag   Host:Port/Repository:Tag

        host是linux主机IP地址

        使用命令 docker tag 将zzyyubuntu:1.2 这个镜像修改为192.168.111.162:5000/zzyyubuntu:1.2

 

6. 修改配置文件使之支持http:

        vim命令新增如下红色内容:vim /etc/docker/daemon.json

        "insecure-registries": ["192.168.111.162:5000"]

7. push推送到私服库

        命令:docker push 步骤5修改以后的镜像名:1.2

 8. curl验证私服库上有什么镜像?

        命令: curl -XGET http://linux主机ip:5000/v2/_catalog     

9. pull到本地并运行

        docker pull 192.168.111.162:5000/zzyyubuntu:1.2

         docker run -it 镜像ID /bin/bash

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值