首页 > 其他分享 >【Docker】专题六:Docker Registry 详解

【Docker】专题六:Docker Registry 详解

时间:2024-04-03 10:29:59浏览次数:23  
标签:5000 详解 Registry 镜像 Docker docker registry

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!

公众号二维码


目录

一、基本介绍

二、Registry 创建方法

三、Registry 常用 API 请求

四、Registry 镜像清理


一、基本介绍

笔者在【Docker】专题一:Docker 基本架构 中介绍过 Docker Registry,它是 Docker 镜像仓库,用于存放和管理 Docker 镜像。

本文将专题介绍本地镜像仓库的创建方法、API 请求、镜像清理等内容。


二、Registry 创建方法

使用 DockerHub 上 Registry 官方镜像直接运行容器即可,并挂载本地数据目录。

# 创建容器并后台运行,设置目录、端口映射
docker run -d \
-p 5000:5000 \
-v /var/lib/local_registry:/var/lib/registry \
--name local_registry \
registry:latest


# docker ps 查看容器状态
# 此时私有镜像名称格式为:127.0.0.1:5000/test:latest


三、Registry 常用 API 请求

附官方文档地址:Registry | Docker Docs

# 查看 repository 列表
curl 127.0.0.1:5000/v2/_catalog

# 查看镜像 tag 列表
curl 127.0.0.1:5000/v2/<repository>/tags/list

# 查看镜像 tag 对应的 digest
curl -s 127.0.0.1:5000/v2/<repository>/manifests/<tag> -I -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' | grep Docker-Content-Digest | awk '{print $NF}' | tr -d '\r'


四、Registry 镜像清理

1、前提条件

需要在 /etc/docker/registry/config.yml 文件中配置允许删除镜像(storage.delete.enabled)。

version: 0.1
log:
  fields:
    service: registry
storage:
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
  # 添加 delete 字段,允许删除镜像
  delete:
    enabled: true
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

运行 Registry 容器时挂载该配置文件即可:

docker run -d \
-p 5000:5000 \
-v /var/lib/local_registry:/var/lib/registry \
-v /etc/docker/config.yml:/etc/docker/registry/config.yml
--name local_registry \
registry:latest

2、清理步骤

# 第一步:参考常用 API 请求,自行获取镜像的 digest 信息

# 第二步:删除镜像
curl -I -XDELETE 127.0.0.1:5000/v2/<repository>/manifests/<digest>

# 第三步:垃圾回收
docker exec local_registry bin/registry garbage-collect /etc/docker/registry/config.yml

标签:5000,详解,Registry,镜像,Docker,docker,registry
From: https://blog.csdn.net/2401_82795112/article/details/137277916

相关文章

  • 大模型中常用的注意力机制GQA详解以及Pytorch代码实现
    分组查询注意力(GroupedQueryAttention)是一种在大型语言模型中的多查询注意力(MQA)和多头注意力(MHA)之间进行插值的方法,它的目标是在保持MQA速度的同时实现MHA的质量。这篇文章中,我们将解释GQA的思想以及如何将其转化为代码。GQA是在论文GQA:TrainingGeneraliz......
  • [转]docker compose 配置文件 .yml 全面指南
    原文地址:dockercompose配置文件.yml全面指南-知乎Compose是一个用于定义和运行多容器Docker的工具。借助Compose,您可以使用YAML文件来配置应用程序的服务。使用Compose基本上分为三步:使用Dockerfile定义您的应用程序的环境使用docker-compose.yml定义组成......
  • Docker服务以及容器如何设置设备开机自动启动
    如果碰到断电重启,在没有设置自动启动的情况下,我们所有应用(比如redis)都需要重新手动启动一遍,这样就非常麻烦,不能及时处理,所以本文来讲解一下如果设置自动启动,话不多说,直接开始。一、Docker服务设置自动启动使用dockerrun命令创建容器时没有添加参数--restart=always,导致的后果......
  • 详解Assertion desc failed at src/libswscale/swscale_internal.h:668
    目录详解Assertiondescfailedatsrc/libswscale/swscale_internal.h:668错误原因解决方案1.检查输入参数2.升级FFmpeg版本3.检查编译选项4.优化代码5.寻求帮助结论详解Assertiondescfailedatsrc/libswscale/swscale_internal.h:668在使用FFmpeg进行视......
  • IP知识详解
    IP基本认识IP在TCP/IP参考模型中处于第三层,也就是网络层。网络层的主要作用是:实现主机与主机之间的通信,也叫点对点(endtoend)通信。网络层与数据链路层有什么关系呢?IP的作用是主机之间通信用的MAC的作用则是实现「直连」的两个设备之间通信IP则负责在「没有......
  • SSH原理详解
    SSH(SecureShell,安全外壳)是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。传统远程登录或文件传输方式,例如Telnet、FTP,使用明文传输数据,存在很多的安全隐患。随着人们对网络安全的重视,这些方式已经慢慢不被接受。SSH协议通过对网络数据进行加密和验证,在不安......
  • 动态规划详解
    动态规划详解动态规划(DynamicProgramming,简称DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式来求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。在计算机科学中,动态规划是解决优化问题的一个强大工具。......
  • Docker:探索容器化技术,重塑云计算时代应用交付与管理
    一,引言    在云计算时代,随着开发者逐步将应用迁移至云端以减轻硬件管理负担,软件配置与环境一致性问题日益凸显。Docker的横空出世,恰好为软件开发者带来了全新的解决方案,它革新了软件的打包、分发和管理方式,让开发人员能够运用先进的自动化运维工具和理念,实现在不同环......
  • 系统学习Docker:1_Docker简介以及2_安装Docker
    01-Docker简介什么是Docker在不同的机器和操作系统中安装运行环境和依赖库是一件很烦人的事情,容器就是为了解决这一问题而出现的技术。容器是一种虚拟化技术,将应用程序及其依赖项(环境、系统工具等)打包到一个独立的可移植环境中。这个运行环境就是容器。Docker是一个能把......
  • 可视化红黑树详解(gif图演示,洛谷P3369 普通平衡树)
    写在前面推荐一个很实用的工具:红黑树可视化本文参考OIwiki中的红黑树代码,读者也可以参考该篇解析(写得还是很不错的),不过OIWiki里删除后平衡维护的Case4和Case5在代码细节上稍微有些问题(把c......