docker搭建私有的仓库

docker搭建私有仓库

一、为什么要搭建私有的仓库?

因为在国内,访问:https://hub.docker.com/ 会出现无法访问页面。。。。(已经使用了魔法)
在这里插入图片描述当然现在也有一些国内的镜像管理网站,比如网易云镜像服务、DaoCloud镜像服务、阿里云镜像服务等。但是有些收费的。戛然而止了。我们可以自己手动的在我们的服务器上进行搭建私有的仓库。Docker Registry,在企业中自己的镜像最好是采用私有Docker Registry来实现。

二、搭建私有镜像仓库(ubuntu版)

https://github.com/Joxit/docker-registry-ui/tree/2.0.0进行了解

1、检查docker

查看服务器上的docker 是否已经安装,使用docker -v进行检查,显示对应的版本号证明已经安装完
在这里插入图片描述

2、配置镜像

国内使用docker官方镜像会出现超时的问题,配置我们国内的镜像既可。执行下方命令。

cd /etc/docker
ls

在这里插入图片描述
进行编辑这个文件。

vim daemon.json

在文件中增加镜像源

 "registry-mirrors": ["https://docker.1panel.live"]

重启服务,执行下方命令

systemctl daemon-reload
systemctl restart docker

查看是否配置成功

docker info

显示如下信息,就证明配置成功
在这里插入图片描述

4、部署私有仓库–无UI界面

(1).无UI的简化版镜像仓库
  Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面。

docker run -d \--restart=always \--name registry	\-p 5000:5000 \-v registry-data:/var/lib/registry \registry
	命令中挂载了一个数据卷registry-data到容器内的/var/lib/registry 目录,这是私有镜像库存放数据的目录。访问http://你的IP地址:5000/v2/_catalog 可以查看当前私有镜像服务中包含的镜像

5、部署私有仓库–有UI界面

当然也有有图形化界面的私有仓库,但是我们需要配置一些东西。

5.1、配置docker 信任的地址
  • 私服采用的是http协议,默认不被Docker信任,所以需要做一个配置:
# 打开要修改的文件
vi /etc/docker/daemon.json
# 添加内容:
# 需要将 http://192.168.175.128 替换为你自己的 ip
"insecure-registries":["http://192.168.175.128:8080"]
# 重加载
systemctl daemon-reload
# 重启docker
systemctl restart docker

在这里插入图片描述
注意:一定要加上逗号

拓展:如果遇见错误:Job for docker.service failed because start of the service was attempted too often. See "systemctl status docker.service" and "journalctl -xe" for details. To force a start use "systemctl reset-failed docker.service" followed by "systemctl start docker.service" again.
好多人碰到这个问题了,解决办法如下:
进入目录下修改配置文件名称,路径:cd /etc/docker 查看当前目录的配置文件,输入:ls 把daemon.json配置文件改成daemon.conf即可,命令:mv daemon.json daemon.conf 重新启动服务,命令:sudo service docker restart 然后再docker ps, 运行ok了 等运行成功后再改回来,不然推送镜像时推送不上去

5.2、创建docker-compose.yml 文件

Docker官方的Docker Registry因为带有图形化界面版本的镜像仓库不是官方提供的,而是由第三方个人基于 Docker 官方的 Docker Registry 进行开发的,所以部署时需要两个静像,我们使用 compose 文件进行部署
2.1执行下方命令创建yml 文件

mkdir /tmp/registry-ui
cd /tmp/registry-ui/
touch docker-compose.yml

填写如下内容

version: '3.0'
services:registry:image: registryvolumes:- ./registry-data:/var/lib/registryui:image: joxit/docker-registry-ui:staticports:- 8080:80environment:- REGISTRY_TITLE=私有仓库- REGISTRY_URL=http://registry:5000depends_on:- registry

 depends_on: - registry 表明 ui 依赖于 registry,所以这样就会先启动registry

5.3、启动

docker-compose up -d
查看启动状态
docker ps
在这里插入图片描述
说明已经启动成功。在浏览器输入ip地址加上8080端口就可以
http://192.168.175.128:8080/
在这里插入图片描述

6、测试

我们先测试一下镜像是否能够正常推上去。查看自己本地的镜像都有什么,docker images
在这里插入图片描述
其中镜像源:192.168.175.128:8080/redis 是测试时候用的镜像源。不用在意。我们拉取一个新的镜像源,使用docker pull nginx
在这里插入图片描述
查看存在的镜像源。docker images
在这里插入图片描述
可以看到我们的nginx镜像源已经拉取下来了。

6.1推送镜像源

前置条件,推送镜像到私有镜像服务必须先tag(就是将本地镜像重命名一下,他们的镜像 ID 都是一样的,本质上还是同一个镜像)所以我们先重新tag本地镜像,名称前缀为私有仓库的地址:这里我的地址为:192.168.175.128:8080,以 nginx 镜像为例,将 nginx:latest 镜像重命名为 192.168.175.128:8080/nginx:1.0

docker tag nginx:latest 192.168.175.128:8080/nginx:1.0

在这里插入图片描述
查看镜像源 docker images
在这里插入图片描述
可以进行推送了,往自己的私有仓库中

docker push 192.168.175.128:8080/nginx:1.0

在这里插入图片描述
此时已经推送成功。

6.2拉取镜像

我们将本地的nginx 镜像都删除。查看一下拉取的效果。
docker rmi 192.168.175.128:8080/nginx:1.0
docker rmi nginx:latest
注意:如果镜像正在被容器使用,可以使用 -f 选项进行强制删除
在这里插入图片描述
使用docker images 查看是否已经成功删除
在这里插入图片描述
进行拉取镜像。
docker pull 192.168.175.128:8080/nginx:1.0
显示如下信息,证明已经拉取到了。
在这里插入图片描述
再次查看镜像源。docker images
在这里插入图片描述

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

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

相关文章

1123--日期类

目录 一 java 1. Date类 2. calendar类 3. 第三代日期类‘ 3.1 常用方法 3.2 格式化操作 一 java 1. Date类 2. calendar类 3. 第三代日期类‘ 3.1 常用方法 3.2 格式化操作

07-Making a Bar Chart with D3.js and SVG

课程链接 Curran的课程,通过 D3.js 的 scaleLinear, max, scaleBand, axisLeft, axisBottom,根据 .csv 文件生成一个横向柱状图。 【注】如果想造csv数据,可以使用通义千问,关于LinearScale与BandScale不懂的地方也可以在通义千…

mysql根据日期查询没有的日期也要显示数据

先查询出日期数据(当前日期往前推12个月) select bb.datefrom (select num : num 1,date_format(adddate(date_sub(date_sub(curdate(),interval 12 month),interval 1 month),interval num month), %Y-%m) as datefrom mysql.help_topic,(select num : 0) as twhere addd…

计算机网络 实验六 组网实验

一、实验目的 通过构造不同的网络拓扑结构图并进行验证,理解分组转发、网络通信及路由选择的原理,理解交换机和路由器在子网划分中的不同作用。 二、实验原理 组网实验是指将多个计算机通过网络连接起来,实现数据的共享和通信。 组网需要考虑…

10-单表查询

SQL语言 sql语言分类 SQL类别主要动作DQL(Data Query Language)SELECT(通常与FROM、WHERE、GROUP BY、HAVING、ORDER BY等组合使用),用作数据chaxunDMLINSERT、UPDATE和DELETE,用作定义数据库记录(数据)TCLCOMMIT、ROLLBACK、SAVEPOINT、SET TRANSACTI…

深度学习每周学习总结J6(ResNeXt-50 算法实战与解析 - 猴痘识别)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 目录 0. 总结ResNeXt基本介绍 1. 设置GPU2. 导入数据及处理部分3. 划分数据集4. 模型构建部分5. 设置超参数:定义损失函数&…

采用python3.12 +django5.1 结合 RabbitMQ 和发送邮件功能,实现一个简单的告警系统 前后端分离 vue-element

一、开发环境搭建和配置 #mac环境 brew install python3.12 python3.12 --version python3.12 -m pip install --upgrade pip python3.12 -m pip install Django5.1 python3.12 -m django --version #用于检索系统信息和进程管理 python3.12 -m pip install psutil #集成 pika…

【H2O2|全栈】JS进阶知识(八)ES6(4)

目录 前言 开篇语 准备工作 浅拷贝和深拷贝 浅拷贝 概念 常见方法 弊端 案例 深拷贝 概念 常见方法 弊端 逐层拷贝 原型 构造函数 概念 形式 成员 弊端 显式原型和隐式原型 概念 形式 constructor 概念 形式 原型链 概念 形式 结束语 前言 开篇语…

订单日记为“惠采科技”提供全方位的进销存管理支持

感谢温州惠采科技有限责任公司选择使用订单日记! 温州惠采科技有限责任公司,成立于2024年,位于浙江省温州市,是一家以从事销售电气辅材为主的企业。 在业务不断壮大的过程中,想使用一种既能提升运营效率又能节省成本…

【Isaac Sim】配置 Nucleus 本地服务器

Omniverse 提供了本地(局域)服务器 Nucleus,可以将资产上传到该服务器,Nucleus 能够高效地存储和管理大量三维模型和其他资产,确保用户可以轻松访问这些资源。它还支持多用户环境下的实时协作,使得不同地理…

递归-迭代

24. 两两交换链表中的节点 Leetcode 24 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 递归解法 // 注意:cpp …

小蒋聊技术:大数据驱动决策——技术落地与业务深度融合

时间:2024年 10月 23日 作者:小蒋聊技术 邮箱:wei_wei10163.com 音频: 喜马拉雅 一.数据决策,真的是企业的“未来”吗? 大家好,欢迎来到“小蒋聊技术”!今天,我们继续聊一个让企业关…

无插件直播流媒体音视频播放器EasyPlayer.js播放器的g711系列的音频,听起来为什么都是杂音

在数字化时代,流媒体播放器已成为信息传播和娱乐消遣的重要工具。随着技术的进步,流媒体播放器的核心技术和发展趋势不断演变,以满足用户对于无缝播放、低延迟和高画质的需求。 EasyPlayer播放器属于一款高效、精炼、稳定且免费的流媒体播放…

UVM 验证方法学之interface学习系列文章(七)高级 《bind 操作》(4)级联

在 SystemVerilog 中,bind 操作符用于将一个模块或接口实例绑定到另一个模块或接口的层次结构中。这在很多情况下非常有用,尤其是当你需要在不修改原始模块代码的情况下,添加或替换某些组件时。bind 操作符常用于仿真和测试平台中,以便灵活地组织测试环境。 前面的文章,我…

Vue3+SpringBoot3+Sa-Token+Redis+mysql8通用权限系统

sa-token支持分布式token 前后端代码,地球号: bright12389

Ansys Zemax Optical Studio 中的近视眼及矫正

近视,通常称为近视眼,是一种眼睛屈光不正,导致远处物体模糊,而近处物体清晰。这是一种常见的视力问题,通常发生在眼球过长或角膜(眼睛前部清晰的部分)过于弯曲时。因此,进入眼睛的光…

利用FileZilla搭建ftp服务器

一 利用windows自带的ftp服务搭建服务器,要复杂一些,好处是无需借用外部软件。 也有一些好的工具,如FileZilla的Server版,构建过程简单,好用。 下面看看。 二 安装FileZilla Server 当前下载版本是0.9.43&#xf…

2022 年中高职组“网络安全”赛项-海南省省竞赛任务书-1-B模块B-1-Windows操作系统渗透测试

前言 本章节我将带领大家一起重新模拟操作一次Windows渗透测试模块,并加固的流程。 任务概览 环境部署 我的实验复现环境: 服务器Windows server 2008 R2 攻击机Kali Linux 场景操作系统Windows 7 额外还有台交换机支持: 这里我使用的是…

【滑动窗口】变种题目:leetcode76:最小覆盖子串

前言 滑动窗口是算法的数组部分中非常重要的一个内容,关于滑动窗口的题目,我已经发布过相关的变种题目文章,链接如下,欢迎访问: 【滑动窗口】相关题目分析讲解:leetcode209,leetcode904 如果你不了解什么是滑动窗口&a…

蚁群算法(Ant Colony Optimization, ACO)

简介 蚁群算法(Ant Colony Optimization, ACO)是一种基于自然启发的优化算法,由意大利学者马可多里戈(Marco Dorigo)在1992年首次提出。它受自然界中蚂蚁觅食行为的启发,用于解决离散优化问题。 在自然界…