当前位置: 首页 > ai >正文

【Docker 03】Docker Registry - 镜像仓库

🌈 一、什么是镜像仓库

  • 镜像是 Docker 的三大组件之一,Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,则 Docker 会从镜像仓库中下载该镜像。
  • 从字面意思上来说,==镜像仓库(Docker Registry)==是个用来存储镜像的地方。镜像仓库不止能用来存储镜像,还提供了管理和分发镜像的功能,并且提供了登录认证能力(提供了用户的注册、登录、登出能力),建立了仓库的索引(提供了镜像的索引信息,方便检索)。
    • 整个 Docker 网站就可以理解为一个 Registry。
  • 镜像仓库(Registry)管理着多个 Repository(通过命名进行区分),每个 Repository 包含了 1 ~ n 个镜像(通过镜像名和标签 tag 进行区分)。
    • 元数据:用来描述镜像的数据(如镜像 ID、镜像的 CPU 类型、镜像有没有漏洞、有几个漏洞、这个镜像存在于哪个磁盘上等)。
    • blob:实实在在的数据,要占硬盘的。

image-20250608202611034

🌈 二、镜像仓库的分类

⭐ 1. 按是否对外开发进行划分

  1. 公有仓库:如阿里云、腾讯云、DockerHub 等放在公有网络上,不用登录就可以下载镜像。
  2. 私有仓库:不对外开放,通常只位于私有网络,只有公司的内部人员可以使用。

⭐ 2. 按供应商和面向群体进行划分

  1. sponsor registry:第三方 registry,供客户和 Docker 社区版使用。
  2. mirror registry:第三方 registry,只让客户使用(如阿里云,只有注册用户才能使用)。
  3. vendor registry:由发布 Docker 镜像的供应商提供的 registry(如 Google 和 Redhat 提供了镜像仓库服务)。
  4. private registry:通过没有防火墙和额外的安全层的私有实体提供的 registry,仅供内部使用。

🌈 三、镜像仓库的使用流程

  • 通过 docker login 命令登录仓库。
  • 通过 docker pull 命令拉取需要的镜像。
  • 通过 dockerfile / commit 等方式制作完镜像通过 docker push 命令上传到仓库。

镜像仓库的拉取机制

  • 在启动容器时,docker daemon 会试图从本地获取相关的镜像。
  • 如果不存在相关的本地镜像,则会从 Registry 中想在该镜像并保存到本地。

🌈 四、镜像仓库命令

命令别名功能
docker login登入仓库
docker pulldocker image pull拉取镜像
docker pushdocker image push推送镜像
docker search查找镜像
docker logout登出仓库

⭐ 1. 登入仓库 docker login

  • 用于登录到一个 Docker 镜像仓库,如果没有指定镜像仓库的地址(server),则默认为官方仓库(Docker Hub)。

1. 基础语法

docker login [options] [server]

2. 常用选项

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

⭐ 2. 拉取镜像 docker pull

  • 用于从镜像仓库中拉取或更新指定镜像。

1. 基础语法

docker pull [options] name[:tag|@digest]

2. 常用选项

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

3. 使用示例

docker pull nginx:123.3

⭐ 3. 推送镜像 docker push

  • 用于将本地的镜像上传到镜像仓库(得先通过 docker login 登入到镜像仓库)。

1. 基础语法

docker push [options] name[:tag]

2. 常用选项

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

3. 使用示例

docker push myapache:v1

⭐ 4. 查找镜像 docker search

  • 用于从 Docker Hub 中查找镜像。

1. 基础语法

docker search [options] 镜像名

2. 常用选项

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

3. 使用示例

# 从 Docker Hub 中查找所有镜像名包含 nginx,且收藏数 (star) 大于 10 的镜像
docker search -f stars=10 nginx

⭐ 5. 登出镜像 docker logout

  • 用于登出一个 Docker 镜像仓库,如果没有指定镜像仓库地址,则默认为官方仓库 Docker Hub。

1. 基础语法

docker logout [server]
http://www.xdnf.cn/news/12997.html

相关文章:

  • Unity | AmplifyShaderEditor插件基础(第六集:平面波动shader)
  • 多模态大模型:AI的下一个前沿
  • ES Serverless 8.17王牌发布:向量检索「火力全开」,智能扩缩「秒级响应」!
  • 六.原型模式
  • docker nginx解决跨域请求的处理(https的也支持)
  • tomcat入门
  • 盟接之桥EDI软件:为制造业打造高效、安全的数据桥梁
  • 数据结构之队列
  • 基于SpringBoot实现的汽车资讯网站设计与实现【源码+文档】
  • CppCon 2015 学习:Simple, Extensible Pattern Matching in C++14
  • AI重塑SEO关键词精准策略
  • Linux离线(zip方式)安装docker
  • 能源即服务:智慧移动充电桩的供给模式创新
  • 网络安全:数字时代的守护盾
  • 爬虫基础学习day2
  • 解密鸿蒙系统的隐私护城河:从权限动态管控到生物数据加密的全链路防护
  • C++编译之导入库理解与使用
  • React Hooks 的原理、常用函数及用途详解
  • crackme006
  • 抽象类和接口(全)
  • 98.错误走百度翻译API的苦98步
  • 深入浅出JavaScript中的ArrayBuffer:二进制数据的“瑞士军刀”
  • 从数据到价值:企业构建大数据价值链的核心战略
  • 闭合逻辑检测(保留最大连通分量)
  • 浏览器中 SignalR 连接示例及注意事项
  • 信创领域下的等保合规建设及解读
  • ava多线程实现HTTP断点续传:原理、设计与代码实现
  • 大学生职业发展与就业创业指导教学评价
  • 用 FFmpeg 实现 RTMP 推流直播
  • ArcGIS Pro裁剪栅格影像