Docker--Docker Registry(镜像仓库)

embedded/2024/12/20 21:03:15/

什么是Docker Registry?

镜像仓库(Docker Registry)是Docker生态系统中用于存储、管理和分发Docker镜像的关键组件。
镜像仓库主要负责存储Docker镜像,这些镜像包含了应用程序及其相关的依赖项和配置,是构建和运行Docker容器的基础。除了存储功能外,镜像仓库还提供管理和分发镜像的能力,包括镜像的索引、搜索、登录认证等。
在这里插入图片描述

镜像仓库的分类

镜像仓库可以划分为多种类型;

按照开放程度分类

1.公共镜像仓库

  • 官方镜像仓库:由Docker官方提供的镜像仓库,包含了大量常用的官方镜像,如nginx、mysql等。这些镜像经过官方认证,具有较高的可靠性和安全性。
  • 第三方公共镜像仓库:由第三方提供的公共镜像仓库,如腾讯云镜像仓库、阿里云镜像仓库等。这些仓库提供了丰富的镜像资源,用户可以根据需要选择并下载。

2.私有镜像仓库

  • 私有镜像仓库通常部署在企业内部或私有网络中,仅对特定用户或组织开放。它用于存储和管理企业内部的应用镜像和敏感数据,确保镜像的安全性和可控性。

按部署方式分类

1.本地镜像仓库

  • 本地镜像仓库部署在本地服务器上,适用于小型团队或内部网络环境。它提供了基本的镜像存储和管理功能,但可能缺乏高级的安全性和可扩展性。

2.云镜像仓库

  • 云镜像仓库部署在云平台上,如阿里云、腾讯云等。它提供了丰富的镜像存储、管理和分发功能,支持高并发访问和海量数据存储。同时,云镜像仓库还提供了与云平台的其他服务(如容器服务、CI/CD等)的集成,方便用户进行容器化应用的开发和部署。

按功能特性分类

1.基础镜像仓库

  • 基础镜像仓库提供了基本的镜像存储、拉取和推送功能。它适用于简单的镜像管理需求,但可能缺乏高级的安全性和可管理性。

2.企业级镜像仓库

  • 企业级镜像仓库在基础镜像仓库的基础上,增加了更多的安全、管理和审计功能。它支持基于角色的访问控制(RBAC)、镜像签名和验证、审计日志等高级功能,确保镜像的安全性和可控性。同时,企业级镜像仓库还支持与企业的LDAP/AD等身份认证系统集成,方便用户进行身份认证和权限管理。

镜像仓库的工作管理机制

在这里插入图片描述
1.当需要使用镜像时,用户可以使用docker pull命令从镜像仓库中拉取镜像。镜像仓库会根据用户请求的镜像名称和标签来查找并返回相应的镜像。
2.开发人员部署好镜像所需内容后,可以使用docker push命令将镜像推送到镜像仓库中,供给其他对应环境的开发人员进行使用;
3.镜像仓库支持镜像的删除操作。然而,由于镜像之间可能存在依赖关系,直接删除镜像可能会导致其他镜像无法正常使用。因此,镜像仓库通常会使用垃圾回收机制来清理没有被引用的块文件,以节省存储空间。

常见的镜像仓库

Docker Hub

Docker Hub 的官方链接

ocker Hub是由Docker公司提供的一个集中存储、分享和管理Docker镜像的云服务平台。

主要功能:

  1. 镜像托管:
  • 用户可以将自己创建的Docker镜像上传到Docker Hub,供其他用户下载和使用。
    Docker Hub提供了不同层次的存储服务,包括公共仓库和私有仓库,满足用户不同的存储需求。
    在这里插入图片描述
    在这里插入图片描述

2.镜像搜索与下载:
用户可以在Docker Hub上搜索所需的镜像,通过关键词、标签、作者等条件进行筛选。
找到合适的镜像后,用户可以通过Docker客户端从Docker Hub上拉取镜像,以便在本地或云环境中部署应用程序。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
3. 自动构建与集成:

  • Docker Hub支持与GitHub、Bitbucket等代码托管平台集成,实现代码的自动构建和镜像推送。
  • 用户可以配置自动构建规则,当代码仓库中的代码发生变化时,Docker Hub会自动构建新的镜像并推送到指定的仓库中。

4.团队协作:

  • Docker Hub支持团队账户的创建,方便团队成员之间共享和管理镜像。
    团队成员可以共同维护一个镜像仓库,进行镜像的上传、下载、更新等操作。

国内镜像源

由于现在需要科学上网,所以对于国外网站很多都登不上去,所以只能利用国内的镜像仓库来进行拉取镜像
像我们上一章安装的时候,就是更换了国内镜源来拉取的;

国内镜像加速器服务:

  • Docker官方镜像(中国区):
    网址:https://registry.docker-cn.com
  • 腾讯云镜像加速器:
    网址:https://mirror.ccs.tencentyun.com
  • 中国科学技术大学镜像加速器:
    网址:https://docker.mirrors.ustc.edu.cn
  • 网易云镜像加速器:
    网址:http://hub-mirror.c.163.com
  • 南京大学镜像加速器:
    网址:https://docker.nju.edu.cn
  • 阿里云镜像加速器:
    注意:阿里云镜像加速器通常需要在阿里云控制台中获取专属的加速器地址,格式一般为https://xxxx.mirror.aliyuncs.com,其中xxxx为用户的专属标识。用户需要登录阿里云控制台,进入镜像加速器页面获取具体的加速器地址。

镜像仓库的常用命令

参考官方文档

命令清单

命令别名功能备注
docker login登录仓库科学上网才可使用
docker pulldocker image pull拉取镜像必须掌握
docker pushdocker image push推送镜像科学上网才可使用
docker search查找镜像科学上网才可使用
docker logout登出仓库科学上网才可使用

docker_login_99">docker login

登陆到一个 Docker 镜像仓库,如果未指定镜像仓库地址,默认为官方仓库Docker
Hub

docker login [OPTIONS] [SERVER]

关键参数

  • -u :登陆的用户名
  • -p :登陆的密码

例如:

docker login -u 用户名 -p 密码

docker_pull_116">docker pull

从镜像仓库中拉取或者更新指定镜像

docker image pull [OPTIONS] NAME[:TAG|@DIGEST]

关键参数

  • -a :拉取所有 tagged 镜像
  • –disable-content-trust :忽略镜像的校验,默认开启

例如

docker pull ubuntu:18.04

在这里插入图片描述

docker_push_132">docker push

将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

docker image push [OPTIONS] NAME[:TAG]

关键参数

  • -a :推送所有 tagged 镜像
  • –disable-content-trust :忽略镜像的校验,默认开启

例如

docker push myapache:v1

docker_search_149">docker search

从 Docker Hub 查找镜像

docker search [OPTIONS] TERM

关键参数

  • –no-trunc :显示完整的镜像描述;
  • -f <过滤条件>:列出收藏数不小于指定值的镜像。

docker_logout_159">docker logout

登出一个 Docker 镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logout [SERVER]

docker_images_163">docker images

列出本地镜像

docker image ls [OPTIONS] [REPOSITORY[:TAG]]

关键参数

  • -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
  • –digests :显示镜像的摘要信息;
  • -f :显示满足条件的镜像;
  • –format :指定返回值的模板文件;
  • –no-trunc :显示完整的镜像信息;
  • -q :只显示镜像 ID

例如:
在这里插入图片描述
在这里插入图片描述

docker_image_inspect_182">docker image inspect

查看镜像详细信息

docker image inspect [OPTIONS] IMAGE [IMAGE...]

例如:
在这里插入图片描述

docker_ps_191">docker ps

列出容器

docker ps [OPTIONS]

参数

  • -a :显示所有的容器,包括未运行的。
  • -f :根据条件过滤显示的内容。
  • –format :指定返回值的模板文件。如 json 或者 table
  • -l :显示 latest 的容器
  • -n :列出最近创建的 n 个容器
  • –no-trunc :不截断输出。
  • -q :静默模式,只显示容器编号。
  • -s :显示总的文件大小、

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


http://www.ppmy.cn/embedded/147352.html

相关文章

【AIStarter】3.2.1版本更新:告别Bug,提升用户体验

随着我们不断努力改进产品&#xff0c;今天很高兴地宣布&#xff0c;我们的软件迎来了重要的3.2.1版本更新。本次更新的核心是修复一系列影响用户体验的Bug&#xff0c;同时对软件性能进行了优化&#xff0c;以确保更稳定、流畅的操作体验。 更新亮点&#xff1a; 关键Bug修复…

设计模式-迭代器模式

背景&#xff08;与组合模式的背景相同&#xff09; 在一个页面中展示学校的院系&#xff0c;一个学校又多个学院&#xff0c;一个学院又有多个系 需求&#xff1a;如何遍历所有对象 基本介绍 属于行为型模式&#xff0c;如果集合元素是用不同的方式实现的&#xff0c;有数…

opencv所有常见函数

一、opencv图像操作 二、opencv图像的数值运算 三、opencv图像的放射变换 四、opencv空间域图像滤波 五、图像灰度化与直方图 六、形态学图像处理 七、阈值处理与边缘检测 八、轮廓和模式匹配

青训营-豆包MarsCode技术训练营试题解析三十八

引言 随着AI领域的发展&#xff0c;底层算法确实起到了决定性的作用。为了跟上这个快速发展的领域&#xff0c;我们需要不断学习和提升自己的技能。刷题是一种很好的方式&#xff0c;可以帮助我们巩固基础知识&#xff0c;提高解决问题的能力。 介绍 ‌豆包青训营‌是由字节…

前端如何做缓存处理?

前端可以通过以下几种方式进行缓存处理&#xff1a; 使用浏览器缓存&#xff1a;浏览器会自动缓存静态资源&#xff0c;如图片、CSS、JavaScript文件等。可以通过设置HTTP响应头中的Cache-Control和Expires字段来控制缓存时间。 使用Service Worker&#xff1a;Service Worker…

Playwright 解决京东滑块:自动化挑战大揭秘

目录 1. 前言 2. playwright 介绍 2.1 区别和优势 3. playwright 使用 3.1 安装 3.2 第一个playwright脚本 4 定位器 4.1 CSS定位 4.2 XPATH定位 5. Context上下文管理对象 6. 京东滑块验证 1. 前言 如何处理JD的滑块登录&#xff1f;&#xff08;若只想查看京东滑块…

[openGauss 学废系列]- openGauss学习笔记整理 - 熟练掌握gsql工具的使用

一、学习目标 这节课是本次实训第二节课程&#xff0c;本次课的重点是熟练掌握gsql工具的使用。熟悉Oracle的人可能都很熟悉sqlplus工具&#xff0c;gsql类似于Oracle的sqlplus&#xff0c;gsql是openGauss数据库提供的在命令行下连接数据库的工具&#xff0c;可通过gsql工具连…

汽车IVI中控开发入门及进阶(三十八):HiCar开发

手机投屏轻松实现手机与汽车的无缝连接,导航、音乐、通话等功能应有尽有,还支持更多第三方应用,让车载互联生活更加丰富多彩。 HiCar在兼容性和开放性上更具优势。 手机投屏可以说是车机的杀手级应用,大大拓宽了车机的可用性范围。其中华为推出的HiCar就是非常好用的一种。…