如何在Linux上搭建本地Docker Registry并实现远程连接

news2024/12/24 10:22:25

Linux 本地 Docker Registry本地镜像仓库远程连接

文章目录

  • Linux 本地 Docker Registry本地镜像仓库远程连接
    • 1. 部署Docker Registry
    • 2. 本地测试推送镜像
    • 3. Linux 安装cpolar
    • 4. 配置Docker Registry公网访问地址
    • 5. 公网远程推送Docker Registry
    • 6. 固定Docker Registry公网地址

Docker Registry 本地镜像仓库,简单几步结合cpolar内网穿透工具实现远程pull or push (拉取和推送)镜像,不受本地局域网限制!

1. 部署Docker Registry

使用官网安装方式,docker命令一键启动,该命令启动一个registry的容器,版本是2,挂载宿主机端口是5000端口,挂载后,5000端口就是我们连接镜像仓库的本地端口

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

执行后,输入docker ps ,我们可以看到运行的容器

2. 本地测试推送镜像

Docker Registry 运行正常后,本地测试推送一个镜像到Registry里面,这边测试把本地mysql镜像推送:

给镜像加上标签

docker image tag mysql localhost:5000/myfirstimage

推送

docker push localhost:5000/myfirstimage

可以看到推送成功,本地推送镜像到Docker Registry表示成功,下面安装cpolar 内网穿透工具,实现远程推送

3. Linux 安装cpolar

上面我们安装成功了Docker Registry本地镜像库,下面我们在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程连接,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

4. 配置Docker Registry公网访问地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个Docker Registry的http cpolar 公网地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:5000
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

image-20230920140230036

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

image-20230920140536614

5. 公网远程推送Docker Registry

Docker Registry需要使用https进行推送,cpolar域名中默认支持https方式访问,所以更加方便,也无需我们设置其他.

首先标记镜像,然后推送,注意,https://协议名称不需要输入,可以看到,推送成功了,这样一个公网地址远程连接就设置好了!

image-20230920143908566

同样拉取也是可以的

image-20230920144311368

6. 固定Docker Registry公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20230920144725353

保留成功后复制保留成功的二级子域名的名称

image-20230920144830077

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20230920150527018

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20230920150711591

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定不变的二级子域名名称的域名

再次测试使用固定地址进行远程,可以看到成功了,这样一个固定且永久不变的公网地址就设置好了

image-20230920155453247

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

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

相关文章

java数据结构(红黑树)set集合 HashSet HashSet三个问题 LinkedHashSetTreeSet TreeSet集合默认规则排序规则

目录 数据结构(红黑树)红黑规则红黑树添加结点规则 set集合小结HashSet HashSet三个问题LinkedHashSet小结 TreeSetTreeSet集合默认规则排序规则(第一种排序方法)方式二练习 小练 总结总结 集合的使用应该怎么选择 数据结构(红黑树) 红黑规则 后代节点就是比如13根结点 13下面的…

JavaSE基础语法

文章目录 概述发展历程版本环境安装main方法注释标识符关键字数据类型与变量四类八种基本类型常量变量概念定义 类型转换自动类型转换强制类型转换类型提升 字符串类型 运算符算数运算符增量运算符自增自减运算符关系运算符逻辑运算符逻辑与 &&逻辑或 ||逻辑非 !短路求…

can only concatenate list (not “range“) to list

在Python中,你不能直接将range对象与列表进行连接。range对象是数字序列,而列表是元素的序列。这两种类型的数据无法直接连接。 如果你想将一个range对象转化为列表,然后将其与另一个列表连接,你可以先将range对象转化为列表&…

Xshell如何下载文件到本地

法一:命令下载 1、连接到远程服务器并登录 2、使用cd命令进入要下载文件的目录 3、使用以下命令下载文件: scp usernameremote:/path/to/file /path/to/local/directoryusername 远程服务器的用户名 remote 远程服务器的IP地址或主机名 /path/to/file …

windows环境下PHP7.4多线程设置

windows环境下的PHP设置多线程时有一定的难度,难点主要是PHP版本的选择,多线程扩展的选择,以及相关的设置等。 环境 windows 10php-7.4.33-Win32-vc15-x64php_parallel-1.1.4-7.4-ts-vc15-x64phpstudy 8.1.1.2 为了快速的部署PHP环境&…

css控制卡片内部的左右布局

先放效果图 纯css样式 可以根据需求进行更改 <template> <!-- 卡片盒子 --><div class"card_box "><el-card class"box-card w400" v-for"(item,index) in cardList" :key"index"><div slot"heade…

<sa8650>qcxserver 之 QCarCam 6.X API介绍 (第二部分)

@[TOC](<sa8650>qcxserver 之 QCarCam 6.X API介绍 (第二部分)) 2.6 帧信息定 帧信息定义包括缓冲区列表ID、缓冲区索引、帧序列号、每个批处理帧的时间戳、隔行扫描字段类型和标志。 2.6.1 QCarCamHWTimestamp_t 硬件时间戳定义 2.6.2 QCarCamBatchFramesInfo_t 2.6.3…

数字通信和fpga概述——杜勇版本学习笔记

1数字通信处理流程 脉冲调制是每个数字通信系统中间必不可少的环节&#xff0c;通常是使用升余弦滚降滤波器来实现。 超外差接收机原理是利用本地产生的振荡波与输入信号混频&#xff0c;将输入信号频率变换为某个预先确定的频率的方法。超外差原理最早是由E.H.阿姆斯特朗于1…

Windows配置JAVA_HOME但是未生效问题

文章目录 前言问题定位解决方式java_home 修改成 1.6 再试试效果 前言 之前用的都是jdk 1.8&#xff0c;但最近需要修改一个老项目&#xff0c;老项目使用的是1.6。修改java_home为1.6的路径后&#xff0c;在cmd中输入java -version发现并未更改。 问题定位 之前装过简化版的…

python中circle函数的用法

python中circle函数的用法 circle函数简介语法说明代码说明 circle函数简介 Python中的circle函数用于绘制圆形&#xff0c;是Python中非常基础 和重要的函数之一 语法 turtle.circle(radius,extentNone,stepsNone)说明 第一个参数- 半径是 radius - radius 可以是负数 - r…

真正解决jellyfin硬解码转码

前段时间入手一个DS423集成显卡UHD600&#xff0c;搭了一个jellyfin&#xff0c;发现网上关于硬解码的教程基本都存在问题&#xff0c;没有真正解决我的硬解码问题。经过一系列分析修改&#xff0c;最终实现硬解码。先贴效果图&#xff1a; 下载安装jellyfin这里就不叙述&#…

猫罐头什么牌子好?精选5款口碑好的猫主食罐头推荐!

亲爱的猫咪朋友们&#xff0c;你们是否还在为如何挑选适合猫咪的猫主食罐头而烦恼呢&#xff1f;猫主食罐头不仅仅是一种美味的食物&#xff0c;更是对维护猫咪健康有益的重要食品。猫罐头什么牌子好&#xff1f;作为在宠物店工作了7年的店长&#xff0c;这些年来店里的猫猫吃过…

【MongoDB】索引 – 文本索引(指定语言)

一、语言列表 语言名称 代码 danish da dutch nl english en finnish fi french fr german de hungarian hu italian it norwegian nb portuguese pt romanian ro russian ru spanish es swedish sv turkish tr 二、指定默认语言 创建文本索…

零基础学网络安全要怎么学?五分钟看懂

网络安全因何而重要&#xff1f; 网络安全是指网络系统的硬件、软件及其系统中的数据受到保护&#xff0c;不因偶然或恶意原因而遭受破坏、更改、泄露&#xff0c;系统连续可靠正常地运行&#xff0c;网络服务不中断。 截至2022年6月,我国网民规模为10.51亿&#xff0c;互联网…

伐木猪小游戏

欢迎来到程序小院 伐木猪 玩法&#xff1a;控制小猪点击屏幕左右砍树&#xff0c;不能碰到树枝&#xff0c;考验手速与眼力&#xff0c;记录分数&#xff0c;快去挑战伐木吧^^。开始游戏https://www.ormcc.com/play/gameStart/199 html <script type"text/javascript…

Centos7开放及查看端口

1、开放端口 firewall-cmd --zonepublic --add-port8888/tcp --permanent # 开放8888端口 firewall-cmd --zonepublic --remove-port8888/tcp --permanent #关闭8888端口 firewall-cmd --reload # 配置立即生效 2、查看防火墙所有开放的端口 firewall-cmd --zonepubl…

5 Tensorflow图像识别(下)模型构建

上一篇&#xff1a;4 Tensorflow图像识别模型——数据预处理-CSDN博客 1、数据集标签 上一篇介绍了图像识别的数据预处理&#xff0c;下面是完整的代码&#xff1a; import os import tensorflow as tf# 获取训练集和验证集目录 train_dir os.path.join(cats_and_dogs_filter…

有关python库

官方库 #1、导入某模块 import os #2、导入OS模块中的system方法 from os import system #3、导入某模块中的孙子模块中的xx方法&#xff0c;并重命名 from module.xx.xx import xx as rename #4、导入OS中的所有模块 #不用进行OS.method(),直接method&#xff08;&#xff0…

ST 任意内核 移植freertos系统

FREERTOS系统移植&#xff0c;先下载系统文件并解压如下 keil5移植后效果如图 注意事项 注意内核类型&#xff0c;ST的f1为M3,F4为m4&#xff0c;h7&#xff0c;f7为m7 再include包含.h路径即可 任务函数一定要写到while&#xff08;1&#xff09;否则无法运行 void lvgl_demo…

AVL树 c语言版本 插入部分

目录 引入平衡树 为什么要变平衡 怎么判断是否需要变平衡 怎么变平衡 LL型失衡 RR型失衡 LR型失衡 RL型失衡 补充 左旋补充 右旋补充 Code 开辟一个新节点 初始化 获取树的高度 左旋函数 更新树高 树高的求法 右旋转函数 插入 InsertNode() 更新树高 getbala…