Docker镜像仓库

devtools/2024/9/24 12:38:17/

目录

前言

1. 常见的镜像仓库

2. 搭建私有镜像仓库

3. 私有库的推送、拉取镜像

4. 总结


前言

Docker镜像仓库简单来说就是存储和管理Docker镜像的平台或服务。它允许开发人员上传自己创建的镜像,并与团队成员共享和协作使用。

1. 常见的镜像仓库

镜像仓库有公共的和私有的两种形式:

  • 公共仓库:允许用户下载别人发布的镜像或者上传自己的镜像,例如国外Docker官方的DockerHub,国内也有网易云镜像服务,DaoCloud镜像服务,阿里云镜像服务等。
  • 私有仓库:提供了更高的安全性和控制,例如用户自己搭建的本地私有Docker Registry。企业自己的镜像存放库等。

2. 搭建私有镜像仓库

可以参考我的CentOS7安装Docker里面的图形化界面版本的详细操作。

3. 私有库的推送、拉取镜像

在搭建好自己的图形化私有库之后,访问http://我的虚拟机IP:8080/,就可以看到,我这里暂时还没有上传镜像:

接下来,我会以之前下载的nginx镜像为例,演示如何上传镜像到私有库和从私有库拉取镜像的操作:

推送镜像到私有镜像库之前必须tag,那么tag命令究竟是什么呢?

我们可以用docker tag --help命令来看看,这个命令是用来干什么的:

看这里我们可以知道,docker tag命令是来创建一个新的镜像标签,这个新的标签指向已有的镜像。这样方便我们通过这样的标识来识别和管理镜像。

接下来,我们来用进行镜像的拉取和推送,步骤如下:

1)重新tag本地镜像,名称前缀为私有仓库的地址:我的虚拟机IP:8080/,你们根据自己的情况来命名:

docker tag nginx:latest 我的虚拟机IP:8080/nginx:1.0 

结果如下:

我们可以看到打上tag标签的镜像跟原来的nginx镜像的镜像ID完全一致,说明这并不是一个新的镜像,而是原来的那个镜像。

2)将镜像推送到私有库

docker push 我的虚拟机IP:8080/nginx:1.0 

 结果如下:

这里可以看见,docker根据我们的tag标签,找到了我们自己搭建的私有库的地址,然后推送上去。我们访问一下私有库地址:http://虚拟机IP:8080/,就可以看到:

这里多了一个刚刚push上去的nginx镜像。点进去,可以看到镜像的大小以及tag的版本号:

3)从私有库拉取镜像

在拉去镜像前,我们下把本地已经下载好的nginx两个镜像删除:

可以看到,我的本地已经完全没有nginx的任何镜像了。

接下来,我们通过下面命令,从私有库上面拉取镜像:

docker pull 虚拟机IP:8080/nginx:1.0

结果如下: 

然后,通过docker images命令查看一下都有哪些镜像:

 

这里显示,我们已经成功从私有库拉取镜像了。

4. 总结

接下来,我们总结一下,拉取镜像的重要步骤:

  1. 推送本地镜像到仓库前必须重命名(docker tag)镜像,以镜像仓库地址为前缀
  2. 镜像仓库推送前需要把仓库地址配置到docker服务的deamon.json文件中,被docker信任(这一步在搭建私有库里面有)
  3. 推送镜像使用docker push命令
  4. 拉取镜像使用docker pull命令

http://www.ppmy.cn/devtools/87955.html

相关文章

PADS Router 扇出失败问题详细解决方法。

第一步:确定单位是一致的,我的单位是 “密尔”,不是“公制”。 第二步:进去pads router 右键选择特性,注意,是右键点击任意板框内空白位置的特性,这个是涵盖整体的设置,和单独点击一个元器件选…

基于docker的 nacos安装部署

一、拉取镜像 拉取nacos官方镜像,这里使用默认命令 docker pull nacos/nacos-server二、创建挂载目录 创建本地的映射文件application.properties mkdir -p /home/docker/nacos/conf /home/docker/nacos/logstouch /home/docker/nacos/conf/application.propert…

SQL Server数据库的黑匣子:实现自定义日志记录

SQL Server数据库的黑匣子:实现自定义日志记录 在数据库管理中,日志记录是监控和审计数据库活动的重要手段。SQL Server提供了多种日志记录机制,但有时这些默认的日志记录可能无法满足特定的业务需求。在这种情况下,实现数据库的…

【Docker项目实战】使用Docker部署轻量级Markdown文本编辑器

【【Docker项目实战】使用Docker部署轻量级Markdown文本编辑器 一、项目介绍1.1 项目简介1.2 使用方法二、本次实践介绍2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 安装Docker环境3.2 检查Docker服务状态3.3 检查Docker版本3.4 检查docker compose 版本四、拉取容器…

DUILib 创建自定义文本编辑控件

DUILib 是一个非常灵活的用户界面库&#xff0c;它允许我们轻松地创建和自定义各种控件。在这篇博客中&#xff0c;我们将详细解释一个自定义文本编辑控件的各个属性&#xff0c;并展示如何使用 DUILib 进行设置。 <!-- 文本编辑控件 --> <Edit pos"92,426,0,0&…

Framework源码整编、单编、烧录过程

目录 一.背景 二.整编方式 二.单编方式 三.烧录 一.背景 源码编译分为整编和单编,整编通常耗时较长,单编则速度很多,如果我们进行一个小的修改想要立马验证的话单编就很合适 二.整编方式 开始执行编译操作,总共三步. 执行source操作source build/envsetup.sh .执行lunc…

Charles抓包工具系列文章(七)-- Rewrite工具的应用示例

一、背景 客户端通过域名访问后端服务,在api网关层,会判断path的前缀,默认/api开头的请求都转发至后端服务A。 当前缀是/assist/api开头,请求将转发至后端服务B(部署在192.168.80.226,便于测试对比) 在不改动kong网关配置的情况下,现需要把后者的请求转发至192.168.…

ubuntu20.04 开源鸿蒙源码编译配置

替换华为源 sudo sed -i "shttp://.*archive.ubuntu.comhttp://repo.huaweicloud.comg" /etc/apt/sources.list && sudo sed -i "shttp://.*security.ubuntu.comhttp://repo.huaweicloud.comg" /etc/apt/sources.list 安装依赖工具 如果是ubun…