Docker--Docker Registry(镜像仓库)

news2024/12/20 18:33:22

什么是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

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

docker login [OPTIONS] [SERVER]

关键参数

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

例如:

docker login -u 用户名 -p 密码

docker pull

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

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

关键参数

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

例如

docker pull ubuntu:18.04

在这里插入图片描述

docker push

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

docker image push [OPTIONS] NAME[:TAG]

关键参数

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

例如

docker push myapache:v1

docker search

从 Docker Hub 查找镜像

docker search [OPTIONS] TERM

关键参数

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

docker logout

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

docker images

列出本地镜像

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

关键参数

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

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

docker image inspect

查看镜像详细信息

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

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

docker ps

列出容器

docker ps [OPTIONS]

参数

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2262852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenEuler Linux上怎么测试Nvidia显卡安装情况

当安装好显卡驱动后怎么样知道驱动程序安装好了,这里以T400 OpenEuler 正常情况下,我们只要看一下nvidia-smi 状态就可以确定他已经正常了 如图: 这里就已经确定是可以正常使用了,这里只是没有运行对应的程序,那接来下我们就写一个测试程序来测试一下:以下代码通过AI给出然后…

【python虚拟环境安装】linux centos 下的python虚拟环境配置

linux centos 下的python虚拟环境配置 在 CentOS 环境中处理 pip 安装警告的方法1. 创建并使用虚拟环境2. 忽略警告并继续使用 root 用户安装&#xff08;不推荐&#xff09;报错问题处理 在 CentOS 环境中处理 pip 安装警告的方法 当在 CentOS 环境中遇到 pip 安装警告时&…

Excel根据身份证号,计算退休日期和剩余天数!

大家好&#xff0c;我是小鱼。 日常工作中&#xff0c;有时我们需要使用Excel表格统计男女员工退休日期或者退休剩余天数&#xff0c;很多新手小伙伴可能不知道如何下手。今天就跟大家分享一下WPS中的Excel表格数据如果根据身份证号&#xff0c;自动批量计算退休日期和剩余天数…

排序算法(3)——归并排序、计数排序

目录 1. 归并排序 1.1 递归实现 1.2 非递归实现 1.3 归并排序特性总结 2. 计数排序 代码实现 3. 总结 1. 归并排序 基本思想&#xff1a; 归并排序&#xff08;merge sort&#xff09;是建立在归并操作上的一种有效的排序算法&#xff0c;该算法是采用分治法&#xff0…

Electron-Vue 开发下 dev/prod/webpack server各种路径设置汇总

背景 在实际开发中&#xff0c;我发现团队对于这几个路径的设置上是纯靠猜的&#xff0c;通过一点点地尝试来找到可行的路径&#xff0c;这是不应该的&#xff0c;我们应该很清晰地了解这几个概念&#xff0c;以下通过截图和代码进行细节讲解。 npm run dev 下的路径如何处理&…

HTML零基础入门教学

目录 一. HTML语言 二. HTML结构 三. HTML文件基本结构 四. 准备开发环境 五. 快速生成代码框架 六. HTML常见标签 6.1 注释标签 6.2 标题标签&#xff1a;h1-h6 6.3 段落标签&#xff1a;p 6.4 换行标签&#xff1a;br 6.5 格式化标签 6.6 图片标签&a…

晶闸管-直流电动机调速系统设计【MATLAB源码+Word文档】

1.1.设计指标及要求 某双闭环直流调速系统采用晶闸管三相桥式整流电路供电&#xff0c;基本数据为:直流他励电动机&#xff0c; 设计要求主要技术指标&#xff1a; 1.2 目录 2. 硬件电路设计 3. 控制电路 4. MATLAB系统仿真 转速输出波形 硬件电路图 Word文档MATLAB仿真源…

Andriod Studio | 项目构建成功,依赖无报错的情况下,却无法启动App?

启动App时出现问题&#xff08;Error running app&#xff09;&#xff1a; &#xff08;1&#xff09; Emulator failed to connect within 5 minutes 原因&#xff1a;App(模拟器)超过5分钟未响应&#xff0c;连接失败 解决办法&#xff1a;可能是因为电脑磁盘不足&#…

UE5中实现Billboard公告板渲染

公告板&#xff08;Billboard&#xff09;通常指永远面向摄像机的面片&#xff0c;游戏中许多技术都基于公告板&#xff0c;例如提示拾取图标、敌人血槽信息等&#xff0c;本文将使用UE5和材质节点制作一个公告板。 Gif效果&#xff1a; 网格效果&#xff1a; 1.思路 通过…

中宇联与亚马逊云科技共同推出Well-Architected联合解决方案

数字化转型正如火如荼地进行&#xff0c;云计算已逐渐成为企业发展的核心动力。亚马逊云科技积极承担起数字经济时代基础设施提供者及企业成长的高质量伙伴角色&#xff0c;全心全意深化客户服务&#xff0c;赋能企业迈向成功之路。基于多年服务各行各业客户的经验总结&#xf…

React+Vite从零搭建项目及配置详解

相信很多React初学者第一次搭建自己的项目&#xff0c;搭建时会无从下手&#xff0c;本篇适合快速实现功能&#xff0c;熟悉React项目搭建流程。 目录 一、创建项目react-item 二、调整项目目录结构 三、使用scss预处理器 四、组件库Ant Design 五、配置基础路由 六、配置…

JDK21 虚拟线程:能完全代替传统线程吗?聊聊 Web 应用中的场景适配

虚拟线程到底是个什么东西&#xff1f; 虚拟线程的出现&#xff0c;可以说是 Java 并发编程的一次“大手术”。本质上&#xff0c;它是对 线程模型的抽象和轻量化&#xff1a; 传统线程&#xff1a;由操作系统管理&#xff0c;每个线程需要分配较大的栈空间&#xff08;通常 …

《Vue3实战教程》13:Vue3侦听器

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 侦听器​ 基本示例​ 计算属性允许我们声明性地计算衍生值。然而在有些情况下&#xff0c;我们需要在状态变化时执行一些“副作用”&#xff1a;例如更改 DOM&#xff0c;或是根据异步操作的结果去修改另一处的状态。…

Intel(R) Iris(R) Xe Graphics安装Anaconda、Pytorch(CPU版本)

一、Intel(R) Iris(R) Xe Graphics安装Anaconda 下载网址&#xff1a;https://repo.anaconda.com/archive/ 双击Anaconda3-2024.10-1-Windows-x86_64&#xff0c;一直下一步&#xff0c;选择安装的路径位置&#xff0c;一直下一步就安装完成了。打开Anaconda PowerShell Promp…

如何在NGINX中实现基于IP的访问控制(IP黑白名单)?

大家好&#xff0c;我是锋哥。今天分享关于【如何在NGINX中实现基于IP的访问控制&#xff08;IP黑白名单&#xff09;&#xff1f;】面试题。希望对大家有帮助&#xff1b; 如何在NGINX中实现基于IP的访问控制&#xff08;IP黑白名单&#xff09;&#xff1f; 1000道 互联网大…

16.springcloud_openfeign之父子容器

文章目录 前言springcloud中的父子容器基础知识了解springcloud提供父子容器的支持springcloud_openfeign对父子容器的应用 总结 前言 在前面springcloud_openfeign的文章中了解到FeignClientsRegistrar在扫描到满足条件的feign接口后会生成BeanDefinition并注入到spring上下文…

写入hive metastore报问题Permission denied: user=hadoop,inode=“/user/hive”

背景 使用Doris创建hive catalog后&#xff0c;想在hive上的库中创建一个表&#xff0c;报如下图片错误 解决办法 hdfs dfs -ls /看到如下图片所示&#xff0c;只有root用户有写的权限 所以通过export HADOOP_USER_NAMEroot将hadoop的用户名改成root&#xff0c;然后再hdfs…

【AI图像生成网站Golang】项目测试与优化

AI图像生成网站 目录 一、项目介绍 二、雪花算法 三、JWT认证与令牌桶算法 四、项目架构 五、图床上传与图像生成API搭建 六、项目测试与优化 六、项目测试与优化 在开发过程中&#xff0c;性能优化是保证项目可扩展性和用户体验的关键步骤。本文将详细介绍我如何使用一…

单节点calico性能优化

在单节点上部署calicov3273后&#xff0c;发现资源占用 修改calico以下配置是资源消耗降低 1、因为是单节点&#xff0c;没有跨节点pod网段组网需要&#xff0c;禁用overlay方式网络(ipip&#xff0c;vxlan),使用route方式网络 配置calico-node的环境变量 CALICO_IPV4POOL_I…

Redis 中 IntSet 底层数据结构

IntSet 底层数据结构 序言: 像字符串 SDS 只是保存了一个变量的值&#xff0c;但是像 Redis 中也是需要保存一些集合元素的&#xff0c;这里就介绍一下其中一种集合 IntSet&#xff0c;由于是 Set 所以也有 Set 的一些特性&#xff0c;不过也多加了一些特性&#xff1a; ● 唯…