Docker:认识镜像仓库及其命令

news2025/1/21 9:34:43

文章目录

  • Docker Registry
    • 什么是Docker Registry
  • 镜像仓库工作机制
    • 使用流程
    • 实际使用方法
    • 仓库的拉取机制
  • 常用的镜像仓库---DockerHub
    • 什么是DockerHub
    • 私有仓库
  • 镜像仓库命令
    • docker login
    • docker pull
    • docker push
    • docker search
    • docker logout

Docker Registry

什么是Docker Registry

Docker Registry的意思是镜像仓库,它的功能就是负责存储,管理和分发镜像,提供了登录认证的能力,建立了仓库的索引

在镜像仓库中会管理很多个Registry,Registry会通过命名来区分,每一个Registry都会包含一个或者多个镜像,镜像会通过镜像名称和标签来进行区分

整体的示意图如下所示:

在这里插入图片描述
Registry

Registry的意思要从哪一个镜像仓库中进行拉取镜像,通常通过dns和ip地址来确定一个镜像仓库,一个Registry中可以存在多个Repository

Repository

Repository可以分为是顶层仓库和用户从库,用户仓库的格式是用户名/仓库名,而每个仓库又可以包含多个标签,每个标签对应一个镜像

在这里插入图片描述

  1. Repository就是由某个特定的Docker镜像的所有迭代版本组成的镜像仓库
  2. 镜像名称就是name+tag
  3. 认证能力就是提供用户登录注册的功能
  4. 索引就是提供镜像的索引信息,方便进行检索

一个容器镜像可以包含有两个部分,一个是元数据,其实就是由dockerfile构建出来的描述文件,这个描述文件会说出这个容器镜像有多少层,每一层里面有什么内容,它的checksum的这些信息都会记录下来,还有最终的可执行文件是在哪个存储数据里面,就是一个一个的blob

镜像仓库工作机制

使用流程

  1. 通过docker login登录仓库
  2. docker pull拉取需要的镜像
  3. 通过dockerfile或者是commit的方式制作镜像,再通过docker push上传到仓库

实际使用方法

Docker Registry中的镜像通常是由开发人员进行制作,而后推送到公共或者私有的Registry上进行保存,供其他人员使用

在这里插入图片描述

仓库的拉取机制

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

常用的镜像仓库—DockerHub

什么是DockerHub

DockerHub是Docker提供的托管存储库服务,来进行查找容器镜像等功能,它具备的功能通常有:

  1. 注册私有仓库,发布镜像
  2. 提供镜像检索能力
  3. 提供其他的镜像
  4. 从github和bitbucket中自动构建容器镜像并推送到DockerHub终会
  5. 只是webhook,也就是一种基于Http的回调函数

私有仓库

下面是私有仓库的概念:

私有镜像仓库则是指部署在公司或组织内部,用于自身应用 Docker镜像存储、分发的镜像仓库。在构建公司内部使用的自动化发布系统的过程中,从安全的角度出发,应用的打包镜像一般情况下只会被存储在私有镜像仓库中,CI/CD 流程的衔接点也是通过向私有镜像仓库上传镜像和拉取镜像的操作来完成的

镜像仓库命令

常用的镜像仓库命令其实不多,这里全部列举出来

  1. docker login:用来登录仓库
  2. docker pull:也叫做docker image pull,用来拉取镜像
  3. docker push:也叫做docker image push,用来推送镜像
  4. docker search:用来查找镜像
  5. docker logout:用来登出仓库

docker login

基本功能就是登录到一个docker的镜像仓库,如果没有指明地址,默认使用官方的DockerHub

它这个登录有点像MySQL,需要指明用户名和密码,比如:

docker login -u xxx -p xxx
test@VM-24-7-ubuntu:~$ docker login -uzhaobohan
Password: 
WARNING! Your password will be stored unencrypted in /home/test/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

docker pull

基本功能是从镜像仓库拉取或者更新指定的镜像

基本语法是

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

选项有 -a,表示拉取所有tagged镜像,–disable-content-trust,表示忽略镜像的校验,默认是开启状态

比如说,使用实例如下:

docker pull nginx:1.23.3

docker push

将本地的镜像上传到镜像仓库,和pull用法基本一样

docker push myapache:v1

docker search

从DockerHub中查找镜像,基本语法选项中包含有:

–no-trunc:显示完整的镜像描述

-f<过滤条件>:列出收藏数不小于指定值的镜像

比如说,可以有下面的语句:

docker search -f stars=10 nginx
test@VM-24-7-ubuntu:~$ sudo docker search -f stars=10 nginx
NAME                               DESCRIPTION                                     STARS     OFFICIAL
nginx                              Official build of Nginx.                        19899     [OK]
unit                               Official build of NGINX Unit: Universal Web …   31        [OK]
nginx/nginx-ingress                NGINX and  NGINX Plus Ingress Controllers fo…   92        
nginxinc/nginx-unprivileged        Unprivileged NGINX Dockerfiles                  152       
nginx/nginx-prometheus-exporter    NGINX Prometheus Exporter for NGINX and NGIN…   41        
nginx/unit                         This repository is retired, use the Docker o…   63        
nginxproxy/nginx-proxy             Automated nginx proxy for Docker containers …   137       
nginxproxy/acme-companion          Automated ACME SSL certificate generation fo…   134       
bitnami/nginx                      Bitnami container image for NGINX               188       
bitnami/nginx-ingress-controller   Bitnami container image for NGINX Ingress Co…   34        
nginxproxy/docker-gen              Generate files from docker container meta-da…   17        
ubuntu/nginx                       Nginx, a high-performance reverse proxy & we…   113       
rancher/nginx-ingress-controller                                                   13  

上述的语句表示的意思是,从DockerHub中查找所有镜像包含NGINX,并且star数大于10的镜像

docker logout

登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认是官方的Docker Hub

指令很简单:

docker logout
test@VM-24-7-ubuntu:~$ docker logout
Removing login credentials for https://index.docker.io/v1/

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

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

相关文章

[线程与网络] 网络编程与通信原理(六):深入理解应用层http与https协议(网络编程与通信原理完结)

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏:&#x1f355; Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 &#x1f9c0;Java …

【java】速度搭建一个springboot项目

使用软件&#xff1a;IDEA&#xff0c;mysql 使用框架&#xff1a;springboot mybatis-plus druid 坑点 使用IDEA搭建一个springboot项目的时候&#xff0c;需要考虑一下IDEA版本支持的JDK版本以及maven版本。否则再构建项目&#xff0c;引入pom的时候就会报错。 需要检查…

C++全栈聊天项目(21) 滚动聊天布局设计

滚动聊天布局设计 我们的聊天布局如下图 最外层的是一个chatview&#xff08;黑色&#xff09;&#xff0c; chatview内部在添加一个MainLayout&#xff08;蓝色&#xff09;&#xff0c;MainLayout内部添加一个scrollarea(红色)&#xff0c;scrollarea内部包含一个widget&…

Linux shell编程学习笔记57:lshw命令 获取cpu设备信息

0 前言 在Linux中&#xff0c;获取cpu信息的命令很多&#xff0c;除了我们已经研究的 cat /proc/cpuinfo、lscpu、nproc、hwinfo --cpu 命令&#xff0c;还有 lshw命令。 1 lshw命令的功能 lshw命令源自英文list hardware&#xff0c;即列出系统的硬件信息&#xff0c;这些硬…

UI 自动化分布式测试 -Docker Selenium Grid

分布式测试Selenium Grid 对于大型项目或者有大量测试用例的项目,单机的测试环境往往无法快速完成所有测试用例的执行,此时自动化测试执行效率将会成为最大的瓶颈,Selenium Grid 可以通过多机的分布式架构允许测试用例并行运行,大大缩短了测试时间。 Selenium Grid 提供了多…

限时限量!6.18云服务器大促盘点,错过一次,再等一年!

随着云计算技术的飞速发展&#xff0c;云服务器已成为企业和个人构建和扩展在线业务的首选平台。特别是在大型促销活动如618年中大促期间&#xff0c;云服务提供商纷纷推出极具吸引力的优惠&#xff0c;以降低用户上云的门槛。以下是对当前市场上几个主流云服务提供商的优惠活动…

JavaScript入门宝典:核心知识全攻略(下)

文章目录 前言一、获取标签元素二、操作标签元素属性1. 属性的操作2. innerHTML 三、数组及操作方法1. 数组的定义2. 数组的操作 四、循环语句五、字符串拼接六、定时器1. 定时器的使用3. 清除定时器 七、ajax1. ajax的介绍2. ajax的使用 前言 JavaScript是前端开发不可或缺的技…

C++| 一维线性插值、imadjust函数

前言&#xff1a;最近要从Matlab代码改C代码&#xff0c;不能直接用Matlab生成的C代码&#xff0c;因为需要嵌入到已有项目中。Matlab本身有很多很方便的数学公式&#xff0c;但是在C里没有相关的库的话&#xff0c;需要自己实现。 一维线性插值、imadjust函数 一维线性插值原理…

常见八大排序(纯C语言版)

目录 基本排序 一.冒泡排序 二.选择排序 三.插入排序 进阶排序&#xff08;递归实现&#xff09; 一.快排hoare排序 1.单趟排序 快排步凑 快排的优化 &#xff08;1&#xff09;三数取中 &#xff08;2&#xff09;小区间优化 二.前后指针法(递归实现) 三.快排的非…

【爬虫】使用Python爬取百度学术页面的标题、作者、摘要和关键词

目录 安装所需库编写爬虫代码解释运行脚本结果 在本文中&#xff0c;我将介绍如何使用Python编写一个网络爬虫&#xff0c;从百度学术页面提取研究论文的标题、作者、摘要和关键词。我们将使用 requests和 BeautifulSoup库来实现这一目标。 安装所需库 首先&#xff0c;确保…

力扣hot100:155. 最小栈(栈,辅助栈存储相关信息)

LeetCode&#xff1a;155. 最小栈 1、尝试单调栈 看到这题说&#xff0c;要常数时间内检索最小元素的栈&#xff0c;想到了单调栈&#xff0c;递增单调栈确实能维护最小值&#xff0c;但是这个最小值是存在一定意义的&#xff0c;即如果后面出现了最小值&#xff0c;那么前面…

PostgreSQL基础(十):PostgreSQL的并发问题

文章目录 PostgreSQL的并发问题 一、事务的隔离级别 二、MVCC PostgreSQL的并发问题 一、事务的隔离级别 在不考虑隔离性的前提下&#xff0c;事务的并发可能会出现的问题&#xff1a; 脏读&#xff1a;读到了其他事务未提交的数据。&#xff08;必须避免这种情况&#xf…

【Java】解决Java报错:NumberFormatException

文章目录 引言1. 错误详解2. 常见的出错场景2.1 字符串包含非数字字符2.2 空字符串或 null 字符串2.3 数值超出范围 3. 解决方案3.1 验证字符串格式3.2 使用异常处理3.3 处理空字符串和 null 4. 预防措施4.1 数据验证4.2 编写防御性代码4.3 单元测试 结语 引言 在Java编程中&a…

【百万字详解Redis】集群

文章目录 一、集群模式概述1.1、什么是集群模式1.2、集群模式特点1.3、集群工作方式 二、集群模式的搭建2.1、搭建前的准备2.2、修改集群配置2.3、启动redis服务2.4、创建集群2.5、查看redis服务状态2.6、进入一个节点2.7、测试操作 三、集群操作3.1、主从切换3.2、从节点操作3…

微软 Windows 10 22H2 发布可选更新 19045.4474,修复窗口显示问题等

微软今天面向 Windows 10 22H2 版本&#xff0c;发布了 KB5037849 非安全可选更新&#xff0c;用户安装后版本号升至 Build 19045.4474。 IT之家 5 月 30 日消息&#xff0c;微软今天面向 Windows 10 22H2 版本&#xff0c;发布了 KB5037849 非安全可选更新&#xff0c;用户安…

搭建 Langchain-Chatchat 详细过程

前言 本文参考官网和其他多方教程&#xff0c;将搭建 Langchain-Chatchat 的详细步骤进行了整理&#xff0c;供大家参考。 我的硬件 4090 显卡win10 专业版本 搭建环境使用 chatglm2-6b 模型 1. 创建虚拟环境 chatchat &#xff0c;python 3.9 以上 conda create -n chat…

【机器学习300问】110、什么是Lasso回归模型?

LASSO回归的全称是Least Absolute Shrinkage and Selection Operator&#xff0c;中文叫“最小绝对收缩和选择算子”&#xff0c;用一个比喻来初步感受一下它的作用&#xff1a; 想象你在整理一个杂乱无章的房间&#xff0c;里面堆满了各种物品&#xff08;代表众多的预测变量&…

python数据可视化:断续水平条形图 matplotlib.pyplot.broken_barh()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 python数据可视化&#xff1a; 断续水平条形图 matplotlib.pyplot.broken_barh() [太阳]选择题 关于以下代码下列说法正确的是&#xff1f; import matplotlib.pyplot as plt x [(10, 5),(…

[职场] 美术学就业方向和前景 #经验分享#学习方法

美术学就业方向和前景 2011年国务院学位委员会、教育部颁布了新的《学位授予和人才培养学科目录》&#xff0c;艺术学首次从文学门类中独立出来&#xff0c;成为新的第13个学科门类&#xff0c;即艺术学门类。其中&#xff0c;美术学又是艺术学门类下的五个一级学科之一。但是…

立创·天空星开发板-GD32F407VE-USART

本文以 立创天空星开发板-GD32F407VET6-青春版 作为学习的板子&#xff0c;记录学习笔记。 立创天空星开发板-GD32F407VE-USART 基础通信概念同步通信 & 异步通信串行通信 & 并行通信双工 & 单工通讯速率码元 串口通信数据帧 串口封装 基础通信概念 通信协议是网络…