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

纯手工在内网部署一个Docker私有仓库

纯手工在内网部署一个Docker私有仓库

  • 下载Docker仓库的镜像
  • 上传仓库的镜像
  • 导入仓库的镜像
  • 启动仓库镜像
  • 配置客户端的Docker
  • 上传镜像到本地仓库
  • 从本地仓库拉取镜像

下载Docker仓库的镜像

这个镜像不太好找,有需要的可以从下面的地址中下载。

通过百度网盘分享的文件:registry_2_6.tar
链接:https://pan.baidu.com/s/1dDnsb9Tu3rSfgZDatlpaqw 
提取码:1111

上传仓库的镜像

root@rz-133-jiaofu-demo:~# rz
rz waiting to receive.
root@rz-133-jiaofu-demo:~# ls registry_2_6.tar 
registry_2_6.tar

导入仓库的镜像

root@rz-133-jiaofu-demo:~# docker image load -i registry_2_6.tar 
7444ea29e45e: Loading layer [==================================================>]  4.671MB/4.671MB
e414ec287de6: Loading layer [==================================================>]   1.56MB/1.56MB
cbc119ee9885: Loading layer [==================================================>]  22.79MB/22.79MB
169631782bfc: Loading layer [==================================================>]  3.584kB/3.584kB
9c158fac7d21: Loading layer [==================================================>]  2.048kB/2.048kB
Loaded image: registry:2.6root@rz-133-jiaofu-demo:~# docker images
REPOSITORY     TAG            IMAGE ID       CREATED             SIZE
registry       2.6            16442cfd83a0   About an hour ago   28.5MB
root@rz-133-jiaofu-demo:~# 

启动仓库镜像

root@rz-133-jiaofu-demo:~/docker_registry# pwd
/root/docker_registry
root@rz-133-jiaofu-demo:~/docker_registry# tree
.
└── data2 directories, 0 files
root@rz-133-jiaofu-demo:~/docker_registry# docker run -d \
> --restart=always \
> --name registry \
> -p 5000:5000 \
> -v ./data:/var/lib/registry \
> registry:2.6
2d2db11322ba0f3adc67cf5e710382843142cf4af87d12b2231d017b63f37a9f
root@rz-133-jiaofu-demo:~/docker_registry# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                                       NAMES
2d2db11322ba   registry:2.6   "/entrypoint.sh /etc…"   14 seconds ago   Up 14 seconds   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   registry
root@rz-133-jiaofu-demo:~/docker_registry# 

启动成功后,可以使用下面的地址查看仓库中的镜像。

root@rz-133-jiaofu-demo:~# curl http://192.168.2.133:5000/v2/_catalog
{"repositories":[]}
root@rz-133-jiaofu-demo:~# 

由于我们第一次创建,仓库中还没有镜像,返回的列表内容为空。

配置客户端的Docker

(base) root@delivery:~# cat /etc/docker/daemon.json
{"insecure-registries":["192.168.2.133:5000"]
}(base) root@delivery:~# systemctl restart docker
(base) root@delivery:~# 

上传镜像到本地仓库

(base) root@delivery:~# docker images
REPOSITORY        TAG       IMAGE ID       CREATED        SIZE
wekanteam/wekan   latest    38034018078c   2 months ago   917MB
postgres          12.19     842534c87032   2 months ago   419MB
mongo             6         2a9f5cd13295   3 months ago   729MB
tomsik68/xampp    8         b8a0b6811d82   3 years ago    1.37GB
(base) root@delivery:~# docker tag postgres:12.19 192.168.2.133:5000/postgres:12.19
(base) root@delivery:~# docker push 192.168.2.133:5000/postgres:12.19
The push refers to repository [192.168.2.133:5000/postgres]
92c68d39dffe: Pushed 
76fa81909294: Pushed 
6f243ca17294: Pushed 
e62afabdf0d2: Pushed 
5326418f37bb: Pushed 
a2c7b30d746c: Pushed 
08df831adf52: Pushed 
93bb50f9a217: Pushed 
2ad378562a2d: Pushed 
0f9ffe44ee5c: Pushed 
c74f1d4d630a: Pushed 
304e63d4a78c: Pushed 
ffff242309b4: Pushed 
e0781bc8667f: Pushed 
12.19: digest: sha256:7a26a6bdc084f05c7ed762009e481f535157f82e77a25e742852c2bb3d61052d size: 3247
(base) root@delivery:~# curl 192.168.2.133:5000/v2/_catalog
{"repositories":["postgres"]}
(base) root@delivery:~# 

从本地仓库拉取镜像

(base) root@delivery:~# docker images
REPOSITORY        TAG       IMAGE ID       CREATED        SIZE
wekanteam/wekan   latest    38034018078c   2 months ago   917MB
postgres          12.19     842534c87032   2 months ago   419MB
mongo             6         2a9f5cd13295   3 months ago   729MB
tomsik68/xampp    8         b8a0b6811d82   3 years ago    1.37GB(base) root@delivery:~# docker pull 192.168.2.133:5000/postgres:12.1912.19: Pulling from postgres
Digest: sha256:7a26a6bdc084f05c7ed762009e481f535157f82e77a25e742852c2bb3d61052d
Status: Downloaded newer image for 192.168.2.133:5000/postgres:12.19
192.168.2.133:5000/postgres:12.19(base) root@delivery:~# docker images
REPOSITORY                    TAG       IMAGE ID       CREATED        SIZE
wekanteam/wekan               latest    38034018078c   2 months ago   917MB
postgres                      12.19     842534c87032   2 months ago   419MB
***************************************************************************
192.168.2.133:5000/postgres   12.19     842534c87032   2 months ago   419MB
***************************************************************************
mongo                         6         2a9f5cd13295   3 months ago   729MB
tomsik68/xampp                8         b8a0b6811d82   3 years ago    1.37GB
(base) root@delivery:~# 

相关文章:

纯手工在内网部署一个Docker私有仓库

纯手工在内网部署一个Docker私有仓库 下载Docker仓库的镜像上传仓库的镜像导入仓库的镜像启动仓库镜像配置客户端的Docker上传镜像到本地仓库从本地仓库拉取镜像 下载Docker仓库的镜像 这个镜像不太好找,有需要的可以从下面的地址中下载。 通过百度网盘分享的文件…...

农林经济管理学报

《农林经济管理学报》是由江西省教育厅主管、江西农业大学主办、北京大学中国农业政策研究中心和中国人民大学农业与农村发展学院学术支持的农林经管类学术双月刊,以主要刊载农林经济政策与理论,反映农林经济管理前沿动态和研究成果,开展学术…...

【初阶数据结构题目】16.用队列实现栈

用队列实现栈 点击链接答题 思路: 出栈:找不为空的队列,将size-1个数据导入到另一个队列中。 入栈:往不为空队列里面插入数据 取栈顶元素: 例如: 两个队列: Q1:1 2 3Q2:…...

使用 OpenAI Whisper v2 模型进行中英文混合语音识别

https://huggingface.co/openai/whisper-large-v2 使用 OpenAI Whisper 模型进行中英文混合语音识别 在本篇博客中,我们将详细介绍如何使用 OpenAI 的 Whisper 模型进行中英文混合语音识别,并设置 Hugging Face 的缓存路径。 简介 Whisper 是 OpenAI 提供的一个强大的自动…...

代码随想录算法训练营day37|动态规划part05

完全背包问题; 第一题:518. Coin Change II class Solution {public int change(int amount, int[] coins) {//递推表达式int[] dp new int[amount 1];//初始化dp数组,表示金额为0时只有一种情况,也就是什么都不装dp[0] 1;fo…...

Git 如何提交代码

一. 简介 前面几篇文章简单学习了 git常用命令,文章如下: Git使用过程中涉及的几个区域-CSDN博客 Git常用命令的使用-CSDN博客 本文学习一下 如何使用 git命令,将本地代码提交到远程仓库。 二. 使用 git命令将本地代码提交到远程仓库中 …...

SpringBoot-application.properties为对象赋值

简单对象赋值 第一种方式 首先让该Bean交由Spring管理,然后加上ConfigurationProperties(prefix"前缀") <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId>&l…...

Head First设计模式学习笔记

Head First设计模式学习笔记 大家好&#xff0c;我是微赚淘客系统3.0的小编&#xff0c;是个冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 一、策略模式 策略模式定义了算法族&#xff0c;分别封装起来&#xff0c;让它们之间可以互相替换&#xff0c;此模式让…...

240806-RHEL 无法通过 ssh username@ip 远程连接,报错:Connection closed by ip port 22

A. 原因排查 遇到这个错误通常意味着 SSH 服务可能在目标主机上没有正常运行&#xff0c;或有防火墙/网络配置问题。以下是一些排查步骤&#xff1a; 检查 SSH 服务状态&#xff1a; 确认 SSH 服务是否正在目标主机上运行。 sudo systemctl status sshd重启 SSH 服务&#xff…...

C语言:复读机2种写法(输入什么就输出什么)

&#xff08;1&#xff09;题目&#xff1a;输入什么内容&#xff0c;输出就是什么内容&#xff0c;遇到"#"为止。输入一个随便的字符 &#xff08;2&#xff09;代码&#xff1a; 【1】getchar()和putchar() #include "stdio.h"int main() {char ch;pr…...

PySide6/PyQT学习笔记(很杂)

QGroupBox样式&#xff1a;科技机甲 QGroupBox { border: 2px solid #333; /* 深色边框&#xff0c;类似金属质感 */ border-radius: 8px; /* 轻微的圆角 */ background-color: #222; /* 暗色背景&#xff0c;模拟机甲内部或科技界面 */ color: #fff; /* 字体颜色为白色&a…...

学习笔记-JWT 保持登录状态

目录 一、解析 token 1. 在 JWT 工具类添加解析 token 的方法 2. 在 Controller 添加获取用户数据的方法 二、获取用户信息 1. 发起 axios 请求用户信息 2. 在路由守卫中调用方法 3. 使用 三、token 时效性 1. 设置 token 过期时间 2. 判断 token 是否过期 3. 在拦截…...

React 性能优化

使用 useMemo 缓存数据 &#xff08;类似 vue 的 computed&#xff09;使用 useCallback 缓存函数异步组件 ( lazy )路由懒加载( lazy )服务器渲染 SSR用 CSS 模拟 v-show 循环渲染添加 key使用 Fragment &#xff08;空标签&#xff09;减少层级 不在JSX 中定义函数&#xff0…...

后端常见问题及深度解决方案

&#x1f41f;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢编程&#x1fab4; &#x1f421;&#x1f419;个人主页&#x1f947;&#xff1a;Aic山鱼 &#x1f420;WeChat&#xff1a;z7010cyy &#x1f988;系列专栏&#xff1a;&#x1f3de;️ 前端-JS基础专栏✨前…...

C:野指针介绍(定义、危害、规避)以及野指针与空指针的区分

目录 1、野指针 1.1 野指针的成因 1.指针未初始化 2.指针越界访问 3.指针指向的空间释放 1.2 野指针的危害 1.3 如何规避野指针 1. 指针初始化 2. 小心指针越界 3.指针变量不使用就及时赋上NULL 4. 指针使用前检查是否是空指针 5. 避免返回局部变量的地址 1.4 区…...

vue中v-html 后端返回html + script js中click事件不生效

效果图&#xff1a; 需求&#xff1a;点击加号执行后端返回的script中的代码 后端返回的html&#xff1a; <!DOCTYPE html> <html langzh> <head> <title>xxx</title> <style>body{font-size: 14px}p{text-indent: 30px;}textarea{width…...

介绍maven生命周期-水温

Maven生命周期是指一系列的构建阶段&#xff0c;包括项目的清理、编译、测试、打包、部署等。Maven通过定义生命周期来规范项目构建过程&#xff0c;使得开发人员可以方便地执行一系列的构建任务。 Maven的生命周期分为三个阶段&#xff1a; clean生命周期&#xff1a;主要用…...

spring boot3.x快速入门

下一篇&#xff1a;Spring Boot 3.x gradle脚手架工程build.gradle详解 本教程将基于gradle项目构建工具来快速构建一个spring boot 3.x的最简单的web应用&#xff0c;其中涉及各种构建技巧和细节&#xff0c;希望能帮到初学者~ 文章目录 先决条件JDK17gradle全局配置 gradle项…...

JavaWeb之servlet关于Ajax实现前后端分离

一、什么是Ajax: AJAX Asynchronous JavaScript and XML&#xff08;异步的 JavaScript 和 XML&#xff09;。 AJAX 不是新的编程语言&#xff0c;而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下&#xff0c;可以与服务器交换数据并更新部…...

vue3表格组件formatter

有时候在网页上显示表格数据时&#xff0c;表格的某些列值只有有限数目&#xff08;例如&#xff0c;启用/停用&#xff09;&#xff0c;这时候后端常常使用不同的数据值表示不同状态&#xff0c;前端怎么将这些数据值转化为相应的列值呢&#xff1f; 我们可以采用vue3表格组件…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...