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

[Docker#4] 镜像仓库 | 部分常用命令

目录

什么是 Docker Registry

镜像仓库生活案例

镜像仓库分类

镜像仓库工作机制

常用的镜像仓库

私有仓库

镜像仓库命令

镜像命令[部分]

容器命令[部分]


什么是 Docker Registry

定义:Docker Registry 负责存储、管理和分发镜像,并提供了登录认证能力,建立了仓库的索引。例如:

结构

  • 镜像仓库(Registry):确定镜像仓库的位置,通常通过 DNS 或 IP 地址,如 hub.docker.com。一个 Registry 中可以存在多个 Repository。
  • Repository:特定 Docker 镜像的所有迭代版本组成的集合。Repository 可分为“顶层仓库”和“用户仓库”,用户仓库名称格式为“用户名/仓库名”。
  • 镜像名称(name)+标签(tag):如 nginx:latest。
  • 认证能力:提供用户注册、登录、登出功能。
  • 索引:提供镜像的索引信息,便于检索。

镜像仓库生活案例
  • 类比超市,一个 Repository 就是一个货架,不同的产品标签即为 tag。
镜像仓库分类

按是否对外开放

  • 公有仓库:如阿里云、DockerHub,无需登录即可下载镜像。
  • 私有仓库:位于私有网络,仅限公司内部使用。

按供应商和面向群体

  • Sponsor Registry:供客户和 Docker 社区版使用。
  • Mirror Registry:仅供客户使用,如阿里云需注册才能使用。
  • Vendor Registry:由发布 Docker 镜像的供应商提供,如 Google 和 Redhat。
  • Private Registry:仅供内部使用,无防火墙和额外安全层。许多大公司开发都有自己的私有仓库~
镜像仓库工作机制

1. 使用流程

  • docker login 登录仓库
  • docker pull 拉取镜像
  • docker push 上传镜像

实际研发中的使用

开发人员制作镜像并推送到公共或私有 Registry,供其他人员使用。

解释:

  • 开发环境:开发人员使用的一套环境
  • 测试环境:需求开发完成后,发布到供测试人员进行测试的环境
  • 预发布环境:版本测试完成后,发布到和生产类似的环境,提前模拟生产发布
  • 生产环境:真正面向客户的环境

拉取机制

  • 启动容器时,Docker 守护进程会尝试从本地获取镜像;若本地不存在,则从 Registry 下载并保存到本地。
常用的镜像仓库

1.DockerHub

功能

  • 注册私有仓库,发布镜像
  • 提供镜像检索能力
  • 提供官方和认证组织的镜像
  • 支持从 GitHub 和 Bitbucket 自动构建并推送到 Docker Hub
  • 支持 webhook

功能浏览

  • 镜像搜索
  • 镜像 tag 查找
  • 对应版本拉取命令
  • 镜像大小、ID、CPU 架构查看

2. 国内镜像源

可以配置的镜像加速器

  • 阿里云加速器
  • 网易云加速器
  • 百度云加速器

配置方法

  • 编辑 /etc/docker/daemon.json 文件,添加镜像加速器地址
  • 重启 Docker 服务
私有仓库

定义:部署在公司内部,用于存储和分发 Docker 镜像。

常见工具

  • Harbor:VMware 开源的企业级 Docker Registry,提供管理 UI、RBAC、AD/LDAP 集成、审计日志等功能。
  • Nexus:Sonatype 发布的仓库管理软件,常用于 Maven 和 Docker 私服。
  • Docker Registry:Docker 官方提供的私有仓库,类似于 Docker Hub。(不更新了)
镜像仓库命令

1 命令清单

  • docker login:登录仓库
  • docker pull:拉取镜像
  • docker push:推送镜像
  • docker search:查找镜像
  • docker logout:登出仓库

2. 具体命令

  • docker login
    • 功能:登录到 Docker 镜像仓库
    • 语法:docker login [OPTIONS] [SERVER]
    • 样例:docker login -u 用户名 -p 密码

dockerhub 被 ban 了。。

  • docker pull
    • 功能:拉取或更新指定镜像
    • 语法:docker pull [OPTIONS] NAME[:TAG|@DIGEST]
    • 样例:docker pull nginx:1.23.3

直接拉取hello-world,可以看到其最终其实是拉取了docker.io/library/hello-world:latest,前面的一长串是官方仓库的地址,而:latest表示默认使用了最新版。

  • docker push
    • 功能:上传本地镜像到仓库
    • 语法:docker push [OPTIONS] NAME[:TAG]
    • 样例:docker push myapache:v1
  • docker search
    • 功能:从 Docker Hub 查找镜像
    • 语法:docker search [OPTIONS] TERM
    • 样例:docker search -f stars=10 nginx
  • docker logout
    • 功能:登出 Docker 镜像仓库
    • 语法:docker logout [SERVER]
    • 样例:docker logout
镜像命令[部分]
  1. docker images
    • 功能:列出本地镜像
    • 语法:docker images [OPTIONS] [REPOSITORY[:TAG]]
    • 样例:docker imagesdocker images ubuntu

  1. docker image inspect
    • 功能:查看镜像详细信息
    • 语法:docker image inspect [OPTIONS] IMAGE [IMAGE...]
    • 样例:docker image inspect nginx:1.23.3
  1. docker tag
    • 功能:标记本地镜像,归入某一仓库
    • 语法:docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
    • 样例:docker tag ubuntu:22.04 myregistry.com/myubuntu:22.04

通过docker tag可以给镜像打上一个新的标签,此处就给helllo-world镜像打了一个v1的标签。可以发现,打标签后,两者的image id是相同的,因为两者的镜像内容相同,只是名字不同。

docker tag还可以给镜像起别名,通过这种方式,给镜像名前面加上一串仓库路径,可以方便提交。

容器命令[部分]
  1. docker run
    • 功能:创建并运行新容器
    • 语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    • 样例:docker run --name mynginx -d nginx:latestdocker run -p 80:80 -v /data:/data -d nginx:latest
  1. docker ps
    • 功能:列出容器
    • 语法:docker ps [OPTIONS]
    • 样例:docker ps -a

博主还在研究科学上网,实战和具体的命令之后 ok 了再慢慢更新叭~

相关文章:

[Docker#4] 镜像仓库 | 部分常用命令

目录 什么是 Docker Registry 镜像仓库生活案例 镜像仓库分类 镜像仓库工作机制 常用的镜像仓库 私有仓库 镜像仓库命令 镜像命令[部分] 容器命令[部分] 什么是 Docker Registry 定义:Docker Registry 负责存储、管理和分发镜像,并提供了登录认…...

工业通信协议对比:OPC-UA、Modbus、MQTT、HTTP

综合对比表 对比项OPC-UAModbusMQTTHTTP通信效率低,带宽消耗高高高,开销低,效率高低,带宽消耗大实时性一般,延迟较高高,延迟低高,低延迟低,延迟高性能消耗高,需要高性能…...

docker 常用方法

目录 docker参数解释 基础信息和环境变量设置 容器运行和管理相关参数 数据卷挂载 GPU 相关参数 镜像相关参数 查看现有的镜像 docker images 查看正在运行的docker docker ps 1、docker启动停止及查看状态 启动docker: systemctl start docker 停止docker…...

区块链技术入门:以太坊智能合约详解

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 区块链技术入门:以太坊智能合约详解 区块链技术入门:以太坊智能合约详解 区块链技术入门:以太…...

特定数据库的备份脚本

该脚本 mysql_backup.sh 是一个 MySQL 数据库的备份脚本,以下是它的工作原理和需要注意的细节: 脚本内容分析 1.设置时间变量 TIME : TIMEdate %F_%H-%M-%S该变量 TIME 存储当前日期和时间,格式为 YYYY-MM-DD_HH-MM-SS,用于生…...

uni-app打包后报错云服务空间未关联

使用uni-app打包到h5 项目里面用到了uni-app的云端一体城市选择组件,这个组件数据用到了uniCloud云服务空间,在本地运行没问题,打包之后测试环境报错: 一顿查,查到了官网是这样说的: cli publish --platfo…...

FPGA学习(10)-数码管

前3节视频目的是实现显示0~F的数码管仿真,后3节是用驱动芯片驱动数码管。 目录 1.数码管显示原理 2.代码过程 2.1仿真结果 3.串行移位寄存器原理 3.1原理 ​编辑 3.2 数据手册 3.3 先行设计思路 4.程序 4.1确定SRCLK的频率 4.2序列计数器 4.3 不同coun…...

C++(继承)

继承的语法 继承的好处:减少重复代码 语法: class 子类 : 继承方法 父类 子类 也称为 派生类 父类 也成为 基类 继承方式 公共继承 保护继承 私有继承 结论:父类中私有成员也是被子类继承下去了,只是由编译器给隐藏后…...

华为OD机试 - RSA加密算法(Java 2024 E卷 100分)

long n (long) Math.sqrt(num); 与long n (long) Math.floor(Math.sqrt(num)); 这两行代码的目的都是计算 num 的平方根,并将结果转换为 long 类型的整数。然而,它们在处理方式上有一些微小的差别。 long n (long) Math.sqrt(num);long n (long) M…...

分组校验在Spring中的应用详解

目录 前言1. 什么是分组校验2. 分组校验的基本原理3. 分组校验的实现步骤3.1 定义分组接口3.2 在校验项中指定分组3.3 校验时指定要校验的分组3.4 默认分组和分组的继承 4. 分组校验的优势和适用场景4.1 优势4.2 适用场景 5. 常见问题与解决方案5.1 校验未生效5.2 无法识别默认…...

torch.nn.**和torch.nn.functional.**的区别

torch.nn.** torch.nn.**是一个继承了torch.nn.Module的类,使用前必须先构造对象,然后再调用。如果直接使用则会报错 例如 a torch.randn(3,4) print(a) sigmoid torch.nn.Sigmoid() a sigmoid(a) print(a) a torch.nn.Sigmoid(a)tensor([[ 0.2462…...

Air780E基于LuatOS编程开发

Air780E基于LuatOS编程开发 Air780E开发板下载固件版本开发板刷机开发调试源码编译下载源码编译工具编译工具链 Air780E开发板 合宙通信推出的 LTE Cat.1 bis通信模块,采用移芯EC618平台,支持4G全网通, 包括的模组有: Air780E – 4G Cat.1Air780EG – …...

贪心算法-汽车加油

这道题目描述了一个汽车旅行场景,需要设计一个有效的算法来决定在哪几个加油站停车加油,以便最小化加油次数。题目给出了汽车加满油后的行驶距离n公里,以及沿途若干个加油站的位置。我们需要找出一个方案,使得汽车能够完成整个旅程…...

Qt信号和槽-->day04

Qt信号和槽 标准的信号和槽函数Qt中的槽函数Qt中的信号 connect案例 自定义信号和槽案例分析 信号槽的拓展信号连接信号案例 信号槽的两种连接方式Qt5中的处理方式Qt4中的处理方式Qt5处理信号槽重载问题案例 lambda表达式简单案例Qt中的应用 补充知识点 标准的信号和槽函数 QW…...

【Linux】为终端命令自定义快件键并弹窗提醒 设置快捷键切换网络代理(Network Proxy)Disabled/Manual 并弹窗提醒

【Linux】为终端命令自定义快件键并弹窗提醒 设置快捷键切换网络代理(Network Proxy)Disabled/Manual 并弹窗提醒 可以自定义快捷键执行终端命令,执行完毕会有弹窗提醒。下面给一个例子,设置快捷键切换网络代理(Netwo…...

十六:Spring Boot依赖 (1)-- spring-boot-starter 依赖详解

1. 简介: spring-boot-starter 是 Spring Boot 项目中的基础启动器依赖,它为开发者提供了 Spring Boot 应用所需的核心功能和自动配置 spring-boot-starter 不是一个具体的功能模块,而是一个基础的启动器。 Spring Boot 提供了一系列的 sta…...

讲讲关于SNMP与智能PDU插座

什么是SNMP 简单网络管理协议 (SNMP) 是一种应用层协议,主要用于网络管理中的设备监控和控制。通过 SNMP,网络管理员可以从管理站远程访问网络中的设备,获取设备的状态信息、配置参数,甚至控制设备的行为。SNMP 被广泛应用于 TCP/…...

在CentOS下安装RabbitMQ

在CentOS下安装RabbitMQ 在CentOS下安装RabbitMQ可以按照以下步骤进行:步骤 1: 更新系统步骤 2: 安装Erlang步骤 3: 添加RabbitMQ仓库步骤 4: 安装RabbitMQ步骤 5: 启动RabbitMQ服务步骤 6: 检查RabbitMQ状态步骤 7: 启用RabbitMQ管理插件(可选&#xff…...

前端使用Canvas实现网页电子签名(兼容移动端和PC端)

实现效果: 要使用Canvas实现移动端网页电子签名,可以按照以下步骤: 在HTML文件中创建一个Canvas元素,并设置其宽度和高度,以适配移动设备的屏幕大小。 // 创建一个canvas元素 let canvas document.createElement(&q…...

什么是OSTRPT报文?

OSTRPT(Order Status Report)是一种 EDI(电子数据交换)报文,用于在供应链管理中向采购商报告订单状态。这种报文通常由供应商发送给采购商,目的是告知订单的当前处理状态、预期交货时间、订单中的变化等信息…...

PICO+Unity MR空间锚点

官方链接:空间锚点 | PICO 开发者平台 注意:该功能只能打包成APK在PICO 4 Ultra上真机运行,无法通过串流或PICO developer center在PC上运行。使用之前要开启视频透视。 在 Inspector 窗口中的 PXR_Manager (Script) 面板上,勾选…...

electron 中 contextBridge 作用

1. 安全地实现渲染进程和主进程之间的通信 在 Electron 应用中,主进程和渲染进程是相互隔离的,这是为了安全和稳定性考虑。 然而,在很多情况下,渲染进程需要访问主进程中的某些功能,例如系统级别的操作或者一些应用级…...

15分钟学 Go 第 42 天:RESTful API设计

第42天:RESTful API设计 目标:理解RESTful API的设计原则 在现代Web开发中,RESTful API(Representational State Transfer)已经成为了标准的架构风格,用于实现客户端与服务器之间的通信。通过遵循REST的设…...

如何安全的中断一个运行中的线程?

文心快码进入3.0时代, 最新发布的代码问答、编码、Debug、单测、安全智能体, 分别在开发的设计、编码、构建、测试验证全流程通过AI赋能,让效率更高、效果更好。可以通过自然语言对话,独立为你完成一项编码任务。 👉点…...

【121. 买卖股票的最佳时机】——贪心算法/动态规划

121. 买卖股票的最佳时机 一、题目难度 简单 三、题目描述 给定一个数组 prices,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获…...

LLMs之Calculate:利用大语言模型技术基于文本内容实现数字计算能力的简介、常用方法、代码实现之详细攻略

LLMs之Calculate:利用大语言模型技术基于文本内容实现数字计算能力的简介、常用方法、代码实现之详细攻略 导读:在基于大语言模型(LLM)技术实现数字计算能力的背景下,文本内容的理解和计算过程涉及多个领域的交叉技术,包括自然语言处理(NLP)、机器学习、以及数值计算。…...

LeetCode题练习与总结:判断子序列--392

一、题目描述 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一…...

json数据结构的转换

# json可用于赌徒与原件数据的转换(json以字符串的形式储存数据,在通过json进行两种语言的转换时,应先将数据类型转换成列表或字典,再由列表或字典转换成json字符串,最后由json字符串转换成另一种语言的列表或字典数据…...

mysql删除语句:@Update(“TRUNCATE TABLE employee“)讲解

这个 SQL 语句: TRUNCATE TABLE employee是一个 SQL DDL(数据定义语言) 操作,用于清空数据库表中的所有记录,但不会删除表结构(即列和索引等)。 逐部分解释: TRUNCATE:…...

如何修改浏览器指纹?

网络安全日益重要,我们的上网行为变得越来越容易被追踪和分析。其中,浏览器指纹就是一种强大的技术手段,它可以说是你上网的身份象征。 一、浏览器指纹是什么 浏览器指纹是网站和在线平台用来收集关于你的浏览器、设备和网络的详细信息的一…...

做网站时怎么更改区域内的图片/营销策划与运营方案

计算机等级考试详解:十进制数92转换为二进制数!本经验由宗龙龙原创,全文共1000多字,阅读需要14分钟,如果文中存在错误,还请大家多多指点,我会积极改进的!14、十进制数92转换为二进制数是()。 A)…...

网站建设需求指引/电商平台的营销方式

当使用诸如[url]http://192.168.1.2/[/url]这样的本机地址访问web页面时,无法显示页面,但是使用localhost 127.0.0.1 或者本机的hostname时均可正常访问。这时通常可以检查如下几点:1、防火墙配置是否有问题2、IE的安全级别设置是否有问题3…...

个体户能否从事网站建设/品牌营销推广要怎么做

网传1月3日晚拼多多公司一名 98 年出生员工因加班猝死。上海市长宁区劳动保障监察大队获悉已对拼多多公司的劳动用工情况进行调查,会对该公司用人合同、用工时间等情况进行检查。1月4日下午拼多多就此事做出回应表示确有此事,公司同事一直陪伴家属&#…...

定制版网站建设详细报价单/5000元网站seo推广

分享一段暴躁的Log西雅图IT圈:seattleit【今日作者】栗头蓝一个充满着人文情怀的web前端相声演员艺海拾贝:“一直以来,我都想写一本书,书名都想好了,就叫《为什么程序员们看起来就像来自火星,而且我们其他人…...

如何用自家电脑做网站服务器/百度注册入口

源:STM32F103的11个定时器详解 STM32F103系列的单片机一共有11个定时器,其中:2个高级定时器4个普通定时器2个基本定时器2个看门狗定时器1个系统嘀嗒定时器出去看门狗定时器和系统滴答定时器的八个定时器列表; 8个定时器分成3个组;…...

巨鹿企业做网站/百度seo规则

在我国古代和近代,一直采用干支法纪年。它采用10天干和12地支配合,一个循环周期为60年。 10天干是:甲,乙,丙,丁,戊,己,庚,辛,壬,癸 12地支是:子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥 如果某年是甲子,下一…...