纯手工在内网部署一个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设计模式学习笔记 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 一、策略模式 策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让…...
240806-RHEL 无法通过 ssh username@ip 远程连接,报错:Connection closed by ip port 22
A. 原因排查 遇到这个错误通常意味着 SSH 服务可能在目标主机上没有正常运行,或有防火墙/网络配置问题。以下是一些排查步骤: 检查 SSH 服务状态: 确认 SSH 服务是否正在目标主机上运行。 sudo systemctl status sshd重启 SSH 服务ÿ…...
C语言:复读机2种写法(输入什么就输出什么)
(1)题目:输入什么内容,输出就是什么内容,遇到"#"为止。输入一个随便的字符 (2)代码: 【1】getchar()和putchar() #include "stdio.h"int main() {char ch;pr…...
PySide6/PyQT学习笔记(很杂)
QGroupBox样式:科技机甲 QGroupBox { border: 2px solid #333; /* 深色边框,类似金属质感 */ border-radius: 8px; /* 轻微的圆角 */ background-color: #222; /* 暗色背景,模拟机甲内部或科技界面 */ color: #fff; /* 字体颜色为白色&a…...
学习笔记-JWT 保持登录状态
目录 一、解析 token 1. 在 JWT 工具类添加解析 token 的方法 2. 在 Controller 添加获取用户数据的方法 二、获取用户信息 1. 发起 axios 请求用户信息 2. 在路由守卫中调用方法 3. 使用 三、token 时效性 1. 设置 token 过期时间 2. 判断 token 是否过期 3. 在拦截…...
React 性能优化
使用 useMemo 缓存数据 (类似 vue 的 computed)使用 useCallback 缓存函数异步组件 ( lazy )路由懒加载( lazy )服务器渲染 SSR用 CSS 模拟 v-show 循环渲染添加 key使用 Fragment (空标签)减少层级 不在JSX 中定义函数࿰…...
后端常见问题及深度解决方案
🐟作者简介:一名大三在校生,喜欢编程🪴 🐡🐙个人主页🥇:Aic山鱼 🐠WeChat:z7010cyy 🦈系列专栏:🏞️ 前端-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事件不生效
效果图: 需求:点击加号执行后端返回的script中的代码 后端返回的html: <!DOCTYPE html> <html langzh> <head> <title>xxx</title> <style>body{font-size: 14px}p{text-indent: 30px;}textarea{width…...
介绍maven生命周期-水温
Maven生命周期是指一系列的构建阶段,包括项目的清理、编译、测试、打包、部署等。Maven通过定义生命周期来规范项目构建过程,使得开发人员可以方便地执行一系列的构建任务。 Maven的生命周期分为三个阶段: clean生命周期:主要用…...
spring boot3.x快速入门
下一篇:Spring Boot 3.x gradle脚手架工程build.gradle详解 本教程将基于gradle项目构建工具来快速构建一个spring boot 3.x的最简单的web应用,其中涉及各种构建技巧和细节,希望能帮到初学者~ 文章目录 先决条件JDK17gradle全局配置 gradle项…...
JavaWeb之servlet关于Ajax实现前后端分离
一、什么是Ajax: AJAX Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部…...
vue3表格组件formatter
有时候在网页上显示表格数据时,表格的某些列值只有有限数目(例如,启用/停用),这时候后端常常使用不同的数据值表示不同状态,前端怎么将这些数据值转化为相应的列值呢? 我们可以采用vue3表格组件…...
Win11Debloat:如何快速优化Windows 11系统,提升性能与隐私保护
Win11Debloat:如何快速优化Windows 11系统,提升性能与隐私保护 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes …...
OpCore-Simplify:智能配置黑苹果EFI的自动化工具开源方案
OpCore-Simplify:智能配置黑苹果EFI的自动化工具开源方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore-Simplify是一款专为黑苹果…...
MiroFish 深度技术研究报告
1. 项目概述与核心定位 1.1 项目愿景与设计理念 1.1.1 群体智能镜像:映射现实世界的数字孪生 MiroFish 的核心愿景是构建 “映射现实的群体智能镜像”——一种能够精确复刻复杂社会系统动态的数字孪生系统。该项目由盛大集团战略支持与孵化,其技术路径区别于传统预测方法:…...
解决Calibre中文路径乱码的终极方案:从根本上保护中文文件名
解决Calibre中文路径乱码的终极方案:从根本上保护中文文件名 【免费下载链接】calibre-do-not-translate-my-path Switch my calibre library from ascii path to plain Unicode path. 将我的书库从拼音目录切换至非纯英文(中文)命名 项目地…...
Anaconda误删高级专题:Docker容器化与云环境下的环境灾难恢复
Anaconda误删高级专题:Docker容器化与云环境下的环境灾难恢复 凌晨三点,产线测试镜像构建失败,日志里一行“conda command not found”让我瞬间清醒。 上周隔壁组实习生误操作把宿主机Anaconda目录整个删了,连带十几个依赖环境全灭。传统恢复流程折腾了六小时,产线数据预…...
2026年全国青少年信息素养大赛算法应用主题赛(C++赛项初赛模拟题4:文末附答案)
2026年全国青少年信息素养大赛算法应用主题赛(C赛项初赛模拟题4:文末附答案) 一、单选题 在C程序中,主函数是程序的入口,其返回值类型通常是( )。 A. void B. int C. double D. char 丝绸之路上…...
Fish Speech 1.5语音延迟优化:2-5秒响应背后的推理加速技巧
Fish Speech 1.5语音延迟优化:2-5秒响应背后的推理加速技巧 1. 引言:从分钟级到秒级的突破 还记得早期的文本转语音系统吗?输入一段文字,等待几分钟才能听到结果,那种焦急的体验让很多开发者望而却步。如今ÿ…...
革新性全流程工厂自动化:FactoryBluePrints开源方案深度解析
革新性全流程工厂自动化:FactoryBluePrints开源方案深度解析 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints 在戴森球计划的浩瀚宇宙中,工厂建设往往…...
Win11Debloat:三步焕新Windows系统,让老电脑性能提升50%的开源神器
Win11Debloat:三步焕新Windows系统,让老电脑性能提升50%的开源神器 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other chan…...
YOLO12参数优化:针对不同场景(如密集小目标)调整模型,提升检测效果
YOLO12参数优化:针对不同场景(如密集小目标)调整模型,提升检测效果 1. YOLO12模型核心特性回顾 YOLO12作为最新一代目标检测模型,其革命性的注意力为中心架构为各类检测任务提供了强大基础。在深入参数优化前&#x…...
