了解和使用 Docker 镜像仓库

news2024/11/25 5:01:32

前言

在上文 《了解和使用 Docker》 之后,反响不错,也上了热榜。本来是想直接整理一下容器编排工具 Docker Swarm 和 K8s 博文的,但是半路杀出了这个活动😂,为表敬意,先参与一波吧。
在这里插入图片描述

本文主要介绍一下容器镜像仓库的使用,包括公有仓库和自己搭建的私有仓库。

文章目录

  • 前言
  • Docker 公共仓库
    • Docker Hub 注册登录
    • 创建容器镜像仓库
    • 上传镜像
  • Harbor 私有仓库
    • Harbor 环境搭建
    • 镜像上传至 Harbor

Docker 公共仓库

Docker hub 是 Docker 官方维护的一个公共仓库,大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。

因为 hub.docker.com 是在国外的,所以无法访问该网址,我们平时使用时可以通过配置镜像加速来拉取镜像。《了解和使用 Docker》中有镜像加速配置,这里就不再次陈述了。

但是如果要将自己的镜像推送到公共仓库中还需要有一个账号登录到 hub.docker.com 中才可以 push。

Docker Hub 注册登录

通过下图链接注册一个账号并登录

在这里插入图片描述

创建容器镜像仓库

登录成功后需要自己创建一个仓库,用来存储镜像。
在这里插入图片描述

上传镜像

镜像仓库创建好之后,就可以将本地的容器镜像 push 到我们所创建的镜像仓库中,并向全球用户共享容器镜像。

我们以 centos 镜像为例,重新打一个 tag 后进行推送

用刚才注册的账号登录 Docker hub

# docker login 
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: xxx
Password:
WARNING! Your password will be stored unencrypted in /root/.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 tag centos:latest xxxx/centos:v1

上传容器镜像至 docker hub

# docker push xxxx/centos:v1
The push refers to repository [docker.io/xxxx/centos]
74ddd0ec08fa: Mounted from library/centos
v1: digest: sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc size: 529

至此镜像就上传成功了,同时别的用户也可以使用这个镜像。

Harbor 私有仓库

如果企业需要搭建自己的镜像仓库,可通过 Harbor 进行搭建,可以自己管理自己的镜像,DevOps 工作也比较方便,重要的是不会受网络的影响。 这个其实就跟 Maven 私有仓库一样。

在搭建 Harbor 前需要安装 Docker、Docker Compose 环境,这里不做详细描述。

Harbor 环境搭建

下载harbor离线安装包

# wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz

解压harbor离线安装包

# tar xf harbor-offline-installer-v2.4.1.tgz
修改配置文件内容

# vim harbor.yml

# Configuration file of Harbor

# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 192.168.10.155

# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 80

# https related config
https:
  # https port for harbor, default is 443
  port: 443
  # The path of cert and key files for nginx
  certificate: 证书
  private_key: 密钥
#访问密码
harbor_admin_password: 12345 
......

执行预备、安装脚本

# ./prepare & ./install.sh

安装好之后就可以通过界面访问了
在这里插入图片描述

镜像上传至 Harbor

修改docker daemon使用 Harbor

# vim /etc/docker/daemon.json
# cat /etc/docker/daemon.json
{
        "insecure-registries": ["192.168.10.155"]
}

重启加载daemon配置


# systemctl daemon-reload
# systemctl restart docker

登录 Harbor

# docker login 192.168.10.155
Username: admin  用户名 admin
Password:        密码   12345
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded 登陆成功

推送本地容器镜像到harbor仓库

# docker push 192.168.10.155/library/centos:v1

通过 Harbor 界面我们就可以看到刚才推送的镜像了。
在这里插入图片描述

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

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

相关文章

【MyBatis】MyBatis中#{}与${}的区别是什么?

文章目录 前言一、彻底理解SQL注入二、关于 # { }三、关于$ { }四、Mybatis中#{}与${}的区别五、代码案例使用#{}案例使用$ {}案例 前言 在开发中使用Mybatis经常使用到#{}与${},二者区别是?来总结一下。 在mybatis中动态 sql 是其主要特性之一&#x…

什么是现代化智慧型档案馆

近日,智慧档案馆建设的新闻热度不断攀升,你知道智慧档案馆是什么吗? ​智慧档案馆是指运用现代信息技术手段,对传统档案馆进行数字化转型,实现档案数字化存储、智能化检索和共享服务。通过数字化转型,不仅可…

< 免费体验ChatGPT:免费且好用,不用使用 “ 魔法 ”,一款功能强大且轻便的插件!webTab! >

免费且好用,不用使用 “ 魔法 ”,一款功能强大且轻便的插件!webTab! 👉 前言👉 功能演示图👉 使用经验分享👉 如何安装webTab插件呢?往期内容 💨 tips&#x…

(转载)基于量子遗传算法的函数寻优算法(matlab实现)

8.1 理论基础 8.1.1 量子遗传算法概述 量子遗传算法(quantum genetic algorithm,QGA)是量子计算与遗传算法相结合的产物,是一种新发展起来的概率进化算法。遗传算法是处理复杂优化问题的一种方法,其基本思想是模拟生物进化的优胜劣汰规则与染色体的交…

太优雅了,公司项目终于用上了Spring状态机

1、什么是状态机 1.1 什么是状态 先来解释什么是“状态”( State )。现实事物是有不同状态的,例如一个自动门,就有 open 和 closed 两种状态。我们通常所说的状态机是有限状态机,也就是被描述的事物的状态的数量是有限…

【HTML 往日冒险 01】标签 元素 属性 注释 文本格式化 颜色 CSS

HTML 往日冒险日志01 说在前面重新开始基础标签 basic元素 elements属性 attributes标题,水平线以及注释 headings段落与折行 paragraphs样式 html_styles文本格式化 formatting注释 comments颜色 colorsCSS 说在前面 HTML 对于现在的我来说,熟悉又陌生…

实验室信息系统源码,LIS源码

实验室信息系统源码,LIS源码 技术细节: SaaS架构的Client/Server应用 体系结构:Client/Server架构 客户端:WPFWindows Forms 服务端:C# .Net 数据库:Oracle 接口技术:RESTful API HttpW…

深度学习环境搭建笔记(一):detectron2安装过程

文章目录 第一步 安装python第二步 安装pycocotools第三步 安装Torch和Torchvision第四步 安装fvcore第五步 安装detectron2第六步 开始安装 第一步 安装python cuda 10.2 环境下 conda create -n detectron python3.7 第二步 安装pycocotools 下载对应的pycocotools-window…

ESXI7.0安装Windows Server 2008 R2

1:使用VC正常建立虚拟机,前四项根据自己的时间情况选择,兼容性用默认的ESXI7.0U2及更高版本。 2:客户机操作系统选择Windows,客户机操作系统版本选择我们想安装的Windows Server 2008 R2(64位) 3:自定义硬件…

LINUX使用问题记录

LINUX使用问题记录 linux 安装pylab报错 sudo apt-get install python3-matplotliblinux换源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bakvim 编辑 sources.list : $ sudo vim /etc/apt/sources.list 将 sources.list 中的内容替换如下 注意&#…

Vulkan Tutorial 7 纹理贴图

目录 23 图像 图片库 暂存缓冲区 纹理图像 布局转换 将缓冲区复制到图像上 准备纹理图像 传输屏障掩码 清除 24 图像视图和采样器 纹理图像视图 采样器 Anisotropy 设备特征 25 组合图像采样器 更新描述符 纹理坐标系 着色器 23 图像 添加纹理将涉及以下步骤&am…

如何快速手撕单例类?一文教会你

👨‍🎓作者:bug菌 ✏️博客:CSDN、掘金、infoQ、51CTO等 🎉简介:CSDN|阿里云|华为云|51CTO等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12…

数据结构与算法基础-学习-24-遍历之DFS(深度优先搜索)和BFS(广度优先搜索)

目录 一、遍历定义 二、遍历实质 三、DFS 四、BFS 五、宏定义 六、自定义类型 七、函数实现 1、DFS(邻接矩阵实现) 2、DFS(邻接表实现) 3、BFS(邻接矩阵实现) 4、BFS(邻接表实现&…

在idea中创建maven

说明:maven是一款管理和构建java项目的工具,使用maven,可规范开发,提高开发效率;maven的安装参考:http://t.csdn.cn/623Ah 配置Maven环境 创建maven,先要做准备工作,把idea中的环境…

带你开发一个远程控制项目---->STM32+标准库+阿里云平台+传感器模块+远程显示-------之 MQTT连接阿里云平台

第一篇: (13条消息) 带你开发一个远程控制项目---->STM32标准库阿里云平台传感器模块远程显示。_海口飞鹏岛科技有限公司的博客-CSDN博客 第二篇: (13条消息) 带你开发一个远程控制项目---->STM32标准库阿里云平台传感器模块远程…

C语言---数组

1、一维数组的创建和初始化 1.1、数组的创建 数组是一组相类型元素的集合。 数组的创建方式: type_t arr_name [const_n];//type_t 是指数组的元素类型 //const_n 是一个常量表达式,用来指定数组的大小。1.2、数组的初始化 数组的初始化是指&#x…

国产替代10BASE-T ST7010QNL 应用局域网的以太网变压器/扼流器

Hqst华强盛导读: 华强盛是电子产品国产替代大军中的一员,随着中国电子产业的快速发展,越来越多的电子产品开始出现了国产替代品。这些国产替代品在性能、品质和价格等方面都有了显著的提升,成为了工厂用户的首选。 国产替代10BAS…

DERT(DEtection TRansformer) ONNX直接推理!!

目录 1.前言 2. ONNX模型 (1) backbone使用的是resnet50 (2) Transformer结构 (3)模型输出 3.代码展示(不收费!!!) 4.结果展示 5.源代码地址 1.前言 DETR DETR的全称是DEtection TRansformer,是Facebook提出的基于…

c++实现【典型的旅行商问题(TSP)】实现配送中心最多可以用2辆车对8个客户进行运输配送

假定配送中心最多可以用2辆车对8个客户进行运输配送。每个车辆载重均 为8吨,车辆每次配送的最大行驶距离为50km,配送中心(编号0)与8个客 户之间及8个客户相互之间的距离d; (i, j= 1, 2, ... 8)、8个客户的货物需 求r;(j= 1, 2... 8)如表1所示。要求寻找一条路径, 使得配送总…

Codeforces Div.2 1798B Three Sevens题解

题目: 传送门 B. Three Sevens time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Lottery "Three Sevens" was held for m days. On day i, ni people with the numbers ai,1…