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

文章目录

  • 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-storeLogin 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.mzph.cn/diannao/25021.shtml

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

相关文章

利用Python分析txt文本中的关键词频率与词汇和句子指标占比

在数据分析和自然语言处理的过程中&#xff0c;关键词的提取和统计是一个重要的步骤&#xff0c;特别是在分析政策文件、经济报告或其他涉及复杂信息的文本时。本文将介绍如何使用Python进行中文文本中的关键词统计&#xff0c;将关注政策相关和不确定性相关的关键词出现频率。…

openi启智社区 aarch64 npu环境安装飞桨paddlepaddle和PaddleNLP(失败)

以前在启智社区都是编译安装飞桨&#xff0c;这回看到飞桨提供了npu安装包&#xff0c;兴冲冲的以为安装很简单。 之所以安装飞桨&#xff0c;是因为想在启智社区的启智大脑调试环境使用最新的PaddleNLP&#xff0c;结果报错&#xff1a;No module named paddle.nn.layer.laye…

编译遇到找不到pcap.so 问题

1.locate 定义pcap.so locate pcap.so 如果存在则打印所有路径 使用软连接将pcap.so 的实际位置连接到编译的lib 目录下 ln -s /usr/lib/x86_64-linux-gnu/libpcap.so /usr/lib/libpcap.so 编译 提示 说明程序中编译的目标程序需要的库与现有的不兼容&#xff0c;一般都是3…

Mysql使用中的性能优化——单次插入和批量插入的性能差异

一般Mysql的客户端和服务端不在一台机器上&#xff0c;所以它们之间的通信需要通过网络进行。我们本次实验&#xff0c;希望抛开网络的影响&#xff0c;测试不同SQL方案在Mysql服务器上的执行效率的对比。于是我们使用“存储过程”来辅助测试。 结论 先上结论&#xff1a; 批…

Servlet基础(续集)

Servlet原理 Servlet是由Web服务器调用&#xff0c;Web服务器在收到浏览器请求之后&#xff0c;会&#xff1a; Mapping问题 一个Servlet可以指定一个映射路径 <servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/hello</url-pa…

vue3 实现自定义指令封装 --- 通俗易懂

1、局部自定义指令 1.1 在<script setup>定义组件内的指令&#xff0c;任何以v开头的驼峰式命名的变量都可以被用作一个自定义指令 <template><div><h3>使用自定义指令</h3><div>########################## start 局部自定义指令</d…

RuoyiAdmin项目搭建及Docker 部署备忘

下载前后分离版&#xff0c;ruoyi: 项目扩展 | RuoYi https://gitee.com/Double_AutoEE/AutoEE 这个是vite antdv 1.安装好后端基础&#xff1a;改端口、配接口、建数据库&#xff0c;前端下载后&#xff1a; npm install npm run dev 2.新建一个模块&#xff0c;包括…

【React】前端插件 uuidjs 的使用 --随机生成id

文档1 文档2 使用 1.安装 npm install uuid2.Create a UUID import { v4 as uuidv4 } from uuid; uuidv4(); // ⇨ 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d3.或使用 CommonJS语法 const { v4: uuidv4 } require(uuid); uuidv4(); // ⇨ 1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4…

C#有哪些方式实现回调函数、处理异步操作或响应某些条件时的动作

在C#中&#xff0c;除了使用event关键字来定义事件和回调函数&#xff08;事件处理器&#xff09;之外&#xff0c;还有几种其他方式来处理异步操作或响应某些条件时的动作&#xff1a; 委托&#xff08;Delegates&#xff09;&#xff1a; 委托类似于C/C中的函数指针&#x…

Docker大学生看了都会系列(八、Dokcerfile部署go项目)

系列文章目录 第一章 Docker介绍 第二章 2.1 Mac通过Homebrew安装Docker 第二章 2.2 CentOS安装Docker 第三章 Docker常用命令 第四章 常用命令实战 第五章 Docker镜像详解 第六章 Docker容器数据卷 第七章 Dockerfile详解 第八章 Dokcerfile部署go项目 文章目录 一、前言二、环…

解决Android Studio Iguana版本不显示原创的GradleTask问题

问题描述&#xff1a; 下面是我的AndroidStudio版本号&#xff0c;升级后我发现项目里面自定义的gradletask找不到了&#xff1f;&#xff1f;&#xff1f; 解决方案&#xff1a; 1、去setting里面把下面红框里面的选项勾选一下&#xff0c;缺点就是sync的时候会慢一些。 2、…

可以抛弃纸质礼金簿了,以后登记礼金可以用这款小程序

可以抛弃纸质礼金簿了&#xff0c;以后登记礼金可以用这款小程序 小程序介绍使用主要技术代码来源项目演示首页和我的关于和设置收礼功能送礼功能我的家庭和数据统计 总结 大家好&#xff0c;这里是程序猿代码之路&#xff0c;先说说为什么想搞这一个小程序呢&#xff0c;主要是…

linux部署运维3——centos7下导入导出mysql数据库的sql文件以及查询数据量最大的表信息

在实际项目开发或者项目运维过程中&#xff0c;数据库的导入导出操作比较频繁&#xff0c;如果可以借助第三方工具那当然算喜事一桩&#xff1b;但是如果不允许外部访问&#xff0c;那么就只能使用数据库自带的命令&#xff0c;也是相当方便的。 一.导入sql文件 1.在linux命令…

pxe自动装机与无人值守

一、pxe与无人值守 pxe&#xff1a;c/s 模式&#xff0c;允许客户端通过网络从远程服务器&#xff08;服务端&#xff09;下载引导镜像&#xff0c;加载安装文件&#xff0c;实现自动化安装操作系统。 pxe的优点&#xff1a; 1、规模化 同时装配多台服务器&#xff08;20多&…

Script和创建对象

一、方法 1.indexof 查找字符串 如果找到的情况下&#xff0c;返回的是当前该字符的下标&#xff1b; 如果不存在的情况下&#xff0c;返回的是结果是-1&#xff1b; 2.math&#xff08;不查找特殊字符&#xff09;查找特定字符串 有&#xff1a;返回的是数组&#xff0c;…

Puppeteer 中的 iFrame使用(包括多重嵌套)指南

iframe或内联框架是一种 HTML元素&#xff0c;可用于在当前页面中嵌入另一个网页或文档。在进行网页抓取时&#xff0c;开发人员经常会遇到带有内嵌 iframe 的网页&#xff0c;其中包含重要信息。弹出窗口、交互式表单、广告和动态内容通常包含在这些 iframe 中。要访问和提取这…

Java 中 IOC 和 AOP 机制详解

Java 中 IOC 和 AOP 机制详解 1. IOC (Inversion of Control) 控制反转 1.1 定义 控制反转&#xff1a;将对象的创建和依赖关系的管理从应用程序代码中转移到外部容器中。简单来说&#xff0c;就是把对象的创建和管理交给容器负责&#xff0c;而不是由程序员自己手动创建和管…

zookeeper启动(一)

1.zookeeper启动入口 在zkServer.sh的启动命令中,我们可以找到zookeeper启动的关键类org.apache.zookeeper.server.quorum.QuorumPeerMain QuorumPeerMain#main 我们可以直接看org.apache.zookeeper.server.quorum.QuorumPeerMain中的main方法,从下面的main方法中,我们可以…

专为Mac设计的窗口管理Magnet 中文

Magnet是一款专为Mac设计的窗口管理工具软件。它具备强大的多窗口管理能力&#xff0c;支持用户通过简单的拖放操作&#xff0c;将应用程序窗口快速对齐、排列和分组。此外&#xff0c;Magnet还提供了预设的布局选项和自定义设置功能&#xff0c;帮助用户实现个性化的窗口布局。…

本地部署GLM-4-9B清华智谱开源大模型方法和对话效果体验

GLM-4-9B是清华大学和智谱AI推出的最新一代预训练模型GLM-4系列中的开源版本。在语义、数学、推理、代码和知识等多方面的数据集测评中&#xff0c;GLM-4-9B及其人类偏好对齐的版本GLM-4-9B-Chat均表现出较高的性能&#xff0c;其通用能力评测结果甚至超越了Llama-3-8B开源大模…