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

高效容器化技术(3)---docker镜像仓库

1.镜像仓库

        Docker镜像仓库是存储和管理Docker镜像的地方。它允许用户上传、下载和共享Docker镜像,从而方便在不同的主机上部署和运行应用程序。

常见的Docker镜像仓库包括:

  1. Docker Hub:官方的Docker镜像仓库,包含了大量的公共镜像供用户使用。
  2. Docker Registry:Docker官方提供的镜像仓库服务,可通过在本地搭建私有仓库实现镜像的存储和共享。
  3. Harbor:由VMware开源的容器镜像仓库。提供了镜像的存储、复制、标签等功能,并支持多租户和安全管理。
  4. Quay:由CoreOS开发的容器镜像仓库,提供了可靠的镜像构建、存储和分发功能,并支持私有和公共仓库。
  5. Alibaba Cloud Container Registry:阿里云提供的容器镜像仓库服务,支持镜像的存储、共享和部署。
  6. Google Container Registry:谷歌云提供的容器镜像仓库服务,支持镜像的存储和分享,并与Google Cloud Platform集成。

        在使用Docker时,可以选择使用公共镜像仓库,也可以搭建私有仓库来存储和管理自己的镜像。

1.仓库的分类

        Docker镜像仓库根据其分类和工作机制可以分为以下几类:

  1. 公共仓库:

    • Docker Hub:Docker官方提供的公共仓库,包含了大量的官方和社区维护的公共镜像,用户可以自由下载和使用。
    • 其他公共仓库:除了Docker Hub之外,还有一些其他的公共仓库,例如Quay和Alibaba Cloud Container Registry等,也提供了大量的公共镜像供用户使用。
  2. 私有仓库:

    • Docker Registry:Docker官方提供的镜像仓库服务,用户可以在本地搭建私有仓库,用于存储和共享自己的镜像。
    • Harbor:由VMware开源的容器镜像仓库,支持搭建私有仓库,并提供了多租户和安全管理功能。
    • 其他私有仓库:还有一些其他的私有仓库可以选择使用,例如Nexus Repository和JFrog Artifactory等。

2.仓库相关命令

        以下是一些常用的Docker镜像仓库相关命令:

        登录到镜像仓库:

docker login
  • 该命令用于登录到指定的镜像仓库,需要提供用户名和密码。

        登出镜像仓库:

docker logout
  • 该命令用于登出当前登录的镜像仓库。

        搜索镜像:

docker search <镜像名>
  • 该命令用于在镜像仓库中搜索指定名称的镜像。

        下载镜像:

docker pull <镜像名>:<标签>
  • 该命令用于从镜像仓库中下载指定名称和标签的镜像。

        上传镜像:

docker push <镜像名>:<标签>
  • 该命令用于将本地构建的镜像上传到镜像仓库中。

        删除镜像:

docker rmi <镜像名>:<标签>
  • 该命令用于删除本地已有的镜像,包括从镜像仓库中下载的镜像和通过构建Dockerfile生成的镜像。

        查看镜像详情:

docker image inspect <镜像名>:<标签>
  • 该命令用于查看指定镜像的详细信息,包括标签、大小、创建时间等。

        列出已下载的镜像:

docker image ls
  • 该命令用于列出本地已下载的镜像列表。

        列出私有仓库中的镜像:

docker search <私有仓库地址>/<镜像名>
  • 该命令用于搜索指定私有仓库中的镜像列表。

        删除私有仓库中的镜像:

docker rmi <私有仓库地址>/<镜像名>:<标签>
  • 该命令用于删除私有仓库中的指定镜像。

1.docker pull

        docker pull语法如下:

docker pull [选项] <镜像名>[:<标签>]

        其中,<镜像名>指定要下载的镜像的名称,<标签>指定要下载的镜像的版本标签。

        常用的选项包括:

  • -a, --all-tags:下载指定镜像名的所有标签的镜像。
  • --disable-content-trust:禁用镜像内容信任,默认情况下Docker将验证拉取的镜像的内容是否经过签名。
  • --platform:指定平台架构,用于多平台镜像的下载。
  • 下载指定名称的镜像:

    docker pull ubuntu
    
  • 下载指定名称和标签的镜像:

    docker pull ubuntu:latest
    
  • 下载指定名称的所有标签的镜像:

    docker pull --all-tags ubuntu
    
  • 下载指定平台架构的镜像:

    docker pull --platform linux/amd64 ubuntu
    

2.docker search

        docker search语法如下:

docker search [选项] <关键字>

        其中,<关键字>指定要搜索的镜像关键字。

        常用的选项包括:

  • --filter, -f:按指定的过滤条件进行搜索,如"is-official=true"仅搜索官方镜像,"stars=3"仅搜索星级为3的镜像。
  • --limit:指定搜索结果的数量限制,默认为25。
  • --no-trunc:不截断搜索结果的描述。
  • --format:指定输出结果的格式。
  • 搜索包含关键字的镜像:

    docker search ubuntu
    
  • 搜索官方镜像:

    docker search --filter "is-official=true"
    
  • 搜索星级为3的镜像:

    docker search --filter "stars=3"
    
  • 指定输出结果的数量限制:

    docker search --limit 10 ubuntu
    
  • 指定输出结果的格式:

    docker search --format "table {{.Name}}\t{{.Description}}\t{{.Stars}}" ubuntu
    

  3.docker tag

  docker tag命令用于给镜像打标签,即为已有的镜像添加一个新的标签。

  docker tag命令的语法如下:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

其中:

  • SOURCE_IMAGE是源镜像的名称或ID。
  • TARGET_IMAGE是目标镜像的名称或ID。
  • TAG是可选项,用于指定镜像的标签,默认为latest

示例使用方式:

docker tag myimage:latest myregistry/myimage:1.0

        上述命令将名为myimage的镜像的最新标签latest打上了一个名为myregistry/myimage的新标签1.0

        通过docker images命令可以查看到添加了新标签的镜像。

http://www.lryc.cn/news/464521.html

相关文章:

  • 使用docker搭建lnmp运行WordPress
  • 【设计模式】深入理解Python中的桥接模式(Bridge Pattern)
  • YOLOv11改进策略【卷积层】| SAConv 可切换的空洞卷积 二次创新C3k2
  • Javaweb基础-axios
  • 智能EDA小白从0开始 —— DAY20 OrCAD
  • C# WebApi 接口测试工具:WebApiTestClient应用技术详解
  • Qt_ymode自己实现
  • 5.3章节python中字典:字典创建、元素访问、相关操作
  • ECCV2024 Tracking 汇总
  • C语言知识点
  • ICMP协议以及ARP欺骗攻击
  • qt5.12.12插件机制无法加载插件问题
  • 机器学习面试笔试知识点-线性回归、逻辑回归(Logistics Regression)和支持向量机(SVM)
  • SpringBoot民宿预订系统设计与实现
  • linux环境下C程序的编译过程以及makefile的简单使用
  • 【从零开始的LeetCode-算法】945. 使数组唯一的最小增量
  • Java程序设计:spring boot(2)
  • 服务器运维监控平台
  • css中 global 和 deep(两个样式穿透) 区别
  • 【星闪技术】WS63E模块的WiFi客户端测试
  • Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数
  • 操作系统 和 初识进程
  • QT--Qlabel学习、获取文本和设置文本、文本对齐方式、文本换行、显示图片
  • 深度学习:终身学习(Life-Long Learning)详解
  • 前端UI框架
  • 最佳副屏串流解决方案:如何低成本打造电脑拓展副屏?
  • SQL Injection | SQL 注入概述
  • 【Linux 从基础到进阶】磁盘I/O性能调优
  • 浅谈AGI时代的“数据枢纽”——向量数据库
  • 生成 Excel 表列名称