搭建Docker私有仓库管理本地的Docker镜像,通过harbor实现Web UI访问和管理私有仓库

要在本地搭建一个Docker私有仓库,你可以按照以下步骤进行设置:

  1. 安装Docker
    确保你已经安装了Docker。如果还没有安装,可以按照官方指南进行安装:
  • 对于Ubuntu系统,你可以运行以下命令来安装Docker:

    sudo apt-get update
    sudo apt-get install -y docker.io
    

如果无法下载,可参考前一篇文章
解决国内docker镜像无法访问下载,使用清华源docker ce
2. 启动Docker服务
确保Docker服务已经启动:

sudo systemctl start docker
sudo systemctl enable docker
  1. 拉取官方的Docker Registry镜像
    Docker提供了一个官方的registry镜像,可以用来搭建私有仓库。你可以使用以下命令拉取这个镜像:
sudo docker pull registry:2

如果出现连接超时,可以尝试

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. 启动私有仓库
    你可以使用以下命令来启动一个简单的私有仓库:
sudo docker run -d -p 5000:5000 --name my-registry registry:2

这个命令会在本地启动一个私有仓库,并将其映射到主机的5000端口。

  1. 推送镜像到私有仓库
    要将镜像推送到你的私有仓库,你首先需要给镜像打上标签,以便它指向私有仓库。

假设你有一个名为my-image的镜像,你可以使用以下命令为其打标签:

sudo docker tag my-image localhost:5000/my-image

然后,你可以将这个镜像推送到你的私有仓库:

sudo docker push localhost:5000/my-image
  1. 从私有仓库拉取镜像
    你可以使用以下命令从私有仓库中拉取镜像:
sudo docker pull localhost:5000/my-image
  1. 配置持久化存储(可选)
    默认情况下,Docker Registry的数据是存储在容器内部的,如果容器被删除,数据也会丢失。你可以通过挂载一个持久化存储卷来避免数据丢失:
sudo docker run -d -p 5000:5000 --name my-registry \-v /path/to/your/data:/var/lib/registry \registry:2

其中/path/to/your/data是你希望存储数据的本地路径。

  1. 配置认证和安全(可选)
    如果你希望为你的私有仓库添加认证或使用HTTPS,你可以进一步配置Docker Registry。可以参考Docker官方文档进行详细的设置。

这样,你就可以在本地成功搭建一个Docker私有仓库,并通过该仓库管理你的Docker镜像。

要通过Web端访问Docker私有仓库,你需要执行以下步骤:

1. 搭建Docker私有仓库

你应该已经完成了这一步,但作为确认,这里是搭建私有仓库的简单步骤:

docker run -d -p 5000:5000 --name registry registry:2

2. 配置Nginx或Apache作为反向代理

为了通过Web浏览器访问Docker私有仓库,你可以配置Nginx或Apache作为反向代理,这样可以提供一个友好的URL并且支持HTTPS。

使用Nginx作为反向代理
  1. 安装Nginx:

    sudo apt-get update
    sudo apt-get install nginx
    
  2. 配置Nginx:
    创建一个新的配置文件,例如/etc/nginx/sites-available/docker-registry,内容如下:

    server {listen 80;server_name your.registry.domain.com;location / {proxy_pass http://localhost:5000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}
    }
    

    重要: 如果你使用HTTPS,配置中的listen 80;需要改成listen 443 ssl;,并添加SSL证书的相关配置。

  3. 启用配置并重启Nginx:

    sudo ln -s /etc/nginx/sites-available/docker-registry /etc/nginx/sites-enabled/
    sudo systemctl restart nginx
    

3. 访问私有仓库的Web UI

  1. 访问Docker私有仓库的Web界面:

    如果你需要一个带有Web UI的Docker仓库,可以考虑使用第三方工具,如Portus或Harbor。

    • Portus: 提供身份验证和授权的功能,并支持浏览和管理Docker仓库中的镜像。
    • Harbor: 一个企业级的Docker注册表服务器,可以提供UI,RBAC,审计日志和镜像复制等功能。
  2. 安装Harbor:

    如果选择Harbor,安装步骤如下:

    • 下载并解压Harbor:

      wget https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-online-installer-v2.5.3.tgz
      tar xvf harbor-online-installer-v2.5.3.tgz
      cd harbor
      sudo apt-get update
      sudo apt-get install docker-compose-plugin

      online模式如果出现无法下载更新,可以选择下载离线包

      wget https://github.com/goharbor/harbor/releases/download/v2.11.1/harbor-offline-installer-v2.11.1.tgz
      
    • 配置Harbor:

      修改harbor.yml文件,设置主机名和其他相关配置。

      hostname: 192.168.1.1
      http:
      port: 8080

    • 启动Harbor:

      ./prepare
      ./install.sh
      
    • 访问Harbor:

      通过Web浏览器访问https://192.168.1.1:8080,Harbor会提供一个完整的UI供你管理Docker镜像。

在这里插入图片描述

4. 配置Docker客户端

配置Docker客户端,使其能够推送和拉取来自私有仓库的镜像。如果你设置了HTTPS,确保Docker客户端能够信任你的证书。

docker login your.registry.domain.com

这样,你就可以通过Web端访问和管理你的Docker私有仓库了。

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

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

相关文章

十一、C语言:字符串函数

目录 一、strlen 二、strcpy 三、strcat 四、strcmp 五、strstr 六、strtok 七、strerror 一、strlen 注意&#xff1a;strlen()函数的返回值是size_t&#xff0c;两个size_t相减仍为无符号数 int main() {char arr[10] "abc";char brr[10] "abc123&quo…

OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 围绕一组2D点拟合一个椭圆。 该函数计算出一个椭圆&#xff0c;该椭圆在最小二乘意义上最好地拟合一组2D点。它返回一个内切椭圆的旋转矩形。使…

【数据结构与算法 | 灵神题单 | 删除链表篇】力扣3217, 82, 237

总结&#xff0c;删除链表节点问题使用到列表&#xff0c;哈希表&#xff0c;递归比较容易超时&#xff0c;我觉得使用计数排序比较稳&#xff0c;处理起来也不是很难。 1. 力扣3217&#xff1a;从链表中移除在数组中的节点 1.1 题目&#xff1a; 给你一个整数数组 nums 和一…

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP 我们在网络的应用层中可以自己定义协议&#xff0c;但是&#xff0c;已经有大佬定义了一些现成的&#xff0c;非常好用的应用层协议&#xff0c;供我们直接使用&#xff0c;HTTP&#xff08;超文本传输协议&#xff09;就是其中之一。 在互…

yolo算法小结

文章目录 yolov1工作原理限制 yolov2网络结构改进点 yolov3改进点 yolov4网络结构图改进点 yolov5改进点 参考资料 YOLO的核心思想是将物体检测视为一个回归问题&#xff0c;它不采用传统的区域提议方法&#xff0c;而是通过单一的神经网络对整个图像进行预测。这意味着YOLO只需…

C/C++两点坐标求距离以及C++保留两位小数输出,秒了

目录 1. 前言 2. 正文 2.1 问题 2.2 解决办法 2.2.1 思路 2.2.2 代码实现 3. 备注 1. 前言 依旧是带来一个练手的题目&#xff0c;目的就一个&#xff0c;方法千千万&#xff0c;通向终点的方式有很多种&#xff0c;没有谁与谁&#xff0c;我们都是为了成为更好的自己。…

使用亚马逊Bedrock的Stable Diffusion XL模型实现文本到图像生成:探索AI的无限创意

引言 什么是Amazon Bedrock&#xff1f; Amazon Bedrock是亚马逊云服务&#xff08;AWS&#xff09;推出的一项旗舰服务&#xff0c;旨在推动生成式人工智能&#xff08;AI&#xff09;在各行业的广泛应用。它的核心功能是提供由顶尖AI公司&#xff08;如AI21 Labs、Anthropic…

python中的循环结构

注意&#xff1a;range&#xff08;&#xff09;函数 累加和&#xff1a; 注意&#xff1a;if 下面如果有好几行&#xff0c;只执行一行 print必须和 for 开头相同格数 例题&#xff1a;水仙花数 注意在print语句中&#xff0c;一句好“ 。。。。。 ”后面必须有逗号然后再写变…

C++(一)----C++基础

1.C的发展史 C语言诞生后&#xff0c;很快普及使用&#xff0c;但是随着编程规模增大且越来越复杂&#xff0c;并且需要高度的抽象和建模时&#xff0c;C语言的诸多短板便表现了出来&#xff0c;为了解决软件危机&#xff0c;上世纪八十年代&#xff0c;计算机界提出了oop&…

linux top命令介绍以及使用

文章目录 介绍 top 命令1. top 的基本功能2. 如何启动 top3. top 的输出解释系统概况任务和 CPU 使用情况内存和交换空间进程信息 4. 常用操作 总结查看逻辑CPU的个数查看系统运行时间 介绍 top 命令 top 是一个在类 Unix 系统中广泛使用的命令行工具&#xff0c;用于实时显示…

WebGL系列教程二(环境搭建及初始化Shader)

目录 1 前言2 新建html页面3 着色器介绍3.1 顶点着色器、片元着色器与光栅化的概念3.2 声明顶点着色器3.3 声明片元着色器 4 坐标系(右手系)介绍5 着色器初始化5.1 给一个画布canvas5.2 获取WebGL对象5.3 创建着色器对象5.4 获取着色器对象的源5.5 绑定着色器的源5.6 编译着色器…

ChatGPT 3.5/4.0使用手册:解锁人工智能的无限潜能

1. 引言 在人工智能的浪潮中&#xff0c;ChatGPT以其卓越的语言理解和生成能力&#xff0c;成为了一个革命性的工具。它不仅仅是一个聊天机器人&#xff0c;更是一个能够协助我们日常工作、学习和创造的智能伙伴。随着ChatGPT 3.5和4.0版本的推出&#xff0c;其功能和应用范围…

windows电脑自动倒计时关机

今天聊一聊其他的。我时不时的有一个需求&#xff0c;是关于在windows电脑上定时关机。 不知道怎么地&#xff0c;我好几次都忘了这个自动定时关机的终端命令&#xff0c;于是每一次都要去网上查。 1.鼠标右击【开始菜单】选择【运行】或在键盘上按【 WinR】快捷键打开运行窗口…

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大&#xff0c;需要补充太多的知识点&#xff0c;教授讲得内容跨越较大&#xff0c;一般一节课的内容是书本上的一章节内容&#xff0c;所以看视频比较吃力&#xff0c;需要先预习课本内容后才能够很好的理解教授讲…

网络学习-eNSP配置VRRP

虚拟路由冗余协议(Virtual Router Redundancy Protocol&#xff0c;简称VRRP) VRRP广泛应用在边缘网络中&#xff0c;是一种路由冗余协议&#xff0c;它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱&#xff0c;允许主机使用单路由器&#xff0c;以及即使在实际…

模版的价值工程

我们在做什么 工作吗 最终不过是在做模版工程模版&#xff0c;最终会进化 沦为后世的参考文档。仅此而已&#xff01; 或者已经沦为了文档类别 其他&#x1f4c4; 最终我们会选择EXIT 指令 尽快它是 window桌面 我们只是图像 人字&#x1f31f;的&#x1f9a3; &#x1f631;…

leveldb源码剖析(二)——LSM Tree

LSM Tree LSM Tree&#xff1a;Log-Structured Merge Tree&#xff0c;日志结构合并树。是一种频繁写性能很高的数据结构。 LSM Tree将写入操作与合并操作分离&#xff0c;数据首先写入磁盘中的日志文件&#xff08;WAL&#xff09;&#xff0c;随后写入内存缓存&#xff0c;…

Adobe After Effects的插件--------CC Particle World

CC Particle World是一个粒子效果器,用于在三维空间中生成和模拟各种粒子系统,包括火焰、雨、雪、爆炸、烟雾等等。它会自动随时间变化发射粒子。 本文部分参照 https://www.163.com/dy/article/IEJVDN760536FE6V.html 使用条件 使用该插件的图层需是2D图层。 我们新建一个…

Matlab simulink建模与仿真 第十一章(端口及子系统库)【上】

参考视频&#xff1a;simulink1.1simulink简介_哔哩哔哩_bilibili 一、端口及子系统库中的模块概览 注&#xff1a;In模块、Out模块和Subsystem模块在第二章中均有介绍&#xff0c;本章不再赘述&#xff1b;Subsystem Examples子系统实例模块也不进行介绍。 二、使能及其子模…

camtasia2024破解版本安装包网盘下载 附带永久激活码秘钥

Camtasia 2024 &#x1f31f; 新功能大揭秘&#xff0c;让你轻松成为视频制作达人&#xff01; 嘿&#xff0c;亲爱的小红薯们&#xff01;&#x1f44b; 今天我要给大家介绍一款超实用的视频编辑软件——Camtasia 2024。这款软件可是让我的视频制作技能瞬间提升了不止一个档次…