如何部署Docker Registry并实现无公网ip远程连接本地镜像仓库

文章目录

    • 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.mzph.cn/news/671163.shtml

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

相关文章

IPv4的公网地址不够?NAT机制可能是当下最好的解决方案

目录 1.前言 2.介绍 3.NAT机制详解 1.前言 我们都知道IPv4的地址范围是32个字节,这其中还有很多地址是不可用的.比如127.*,这些都是环回地址.那么在网路发展日新月异的今天,互联网设备越来越多,我们该如何解决IP地址不够用的问题呢?目前有一种主流的解决方案,也是大家都在用…

Visual Studio 2022 查看类关系图

这里写自定义目录标题 右键要查看的项目 -“查看”-“查看类图”效果展示: 原文地址 www.cnblogs.com 步骤1:勾选扩展开发 步骤2: 勾选类设计器 右键要查看的项目 -“查看”-“查看类图” 效果展示:

操作系统-02-Ubuntu 常用命令等汇总

Ubuntu Ubuntu是一个开源软件平台,可以在从智能手机、平板电脑和个人电脑到服务器和云端等各种设备上运行。 ubuntu Title: Desktop Ubuntu desktop->command: CtrlAltF2~F6 command->desktop: CtrlAltF7 Login Change to root user $ sudu suLogin to al…

AI嵌入式K210项目(27)-条形码识别

文章目录 前言一、什么是条形码?二、实验准备三、实验过程四、API接口总结 前言 本章介绍基于机器视觉实现条形码识别,主要包含两个过程,首先检测图像中是否有条形码,如果有则框出并打印条形码信息; 一、什么是条形码…

ShardingSphere实现openGauss分布式架构

本文档采用openGauss结合ShardingSphere中间件的架构,实现openGauss数据库分布式OLAP场景的环境部署。 术语说明: 开源数据库引擎:openGauss shardingsphere Proxy:定位为透明化的数据库代理端,提供封装了数据库二进…

示波器的电压怎么和测量的电压不一样,空比增加以后 示波器显示的电压反而降低了?

这两天在调电机,发现我用pwm信号,发送给示波器,但是示波器测量的电压和万用表测量的完全不一样,而有奇怪的现象,空比增加以后 示波器显示的电压反而降低了。 最后发现是通道没有设置,要设置成直流模式 点ch…

解决jupyter notebook主题更改、解决工具栏隐藏的问题

安装主题包 进入对应的环境 conda activate pytorch(环境名字自己根据本地环境换) 输入命令行,下载主题包 pip install --upgrade jupyterthemes输入命令,查看主题 jt -lAvailable Themes:1 chesterish 黑色2 grade3 白灰相间3 gruvboxd 深…

CentOS设置定时任务

CentOS设置定时任务 安装定时任务:cron yum install -y cronie启动 systemctl start crond.service设置开机自启动 systemctl enable crond.service检查定时任务状态 systemctl status crond.service编辑定时任务 crontab -e定时任务配置。例如:在…

为什么免费ip代理不适用于分布式爬虫?

费IP代理通常是一些公开免费提供的IP地址和端口,供用户免费使用。然而,这些免费IP代理并不适用于分布式爬虫的使用,原因如下: 1. 不稳定性 免费IP代理通常是由个人或组织提供的,没有稳定的维护和管理机制。因此&…

docker之程序镜像的制作

目录 一、每种资源的预安装(基础) 安装 nginx安装 redis 二、dockerfile文件制作(基础) 打包 redis 镜像 创建镜像制作空间制作dockerfile 打包 nginx 镜像 三、创建组合镜像(方式一) 生成centos容器并…

补题:leetcode第382场周赛 3022. 给定操作次数内使剩余元素的或值最小

3022. 给定操作次数内使剩余元素的或值最小 - 力扣(LeetCode) 拆位 n个数进行或运算的结果最小,每次操作可以对相邻的两个数进行与运算,至多进行k次操作 n个数进行或运算,可以对每个数进行拆解,拆解成最小…

SpringBoot全局异常处理,返回http状态码500 或 json

1. 自定义异常 public class SystemException extends RuntimeException{private static final long serialVersionUID 1L;public SystemException(String message){super(message);}public SystemException(Throwable cause){super(cause);}public SystemException(String me…

分享springboot框架的一个开源的本地开发部署教程(若依开源项目开发部署过程分享持续更新二开宝藏项目PostgresSQL数据库版)

1首先介绍下若依项目: 若依是一个基于Spring Boot和Spring Cloud技术栈开发的多租户权限管理系统。该开源项目提供了一套完整的权限管理解决方案,包括用户管理、角色管理、菜单管理、部门管理、岗位管理等功能。 若依项目采用前后端分离的架构&#xf…

[beginCTF 2024] crypto/pwn部分

这个比赛没从开始弄,也没弄到结束,中间有点事出去4天,回来后已经结束,而且也下不了附件,很遗憾。 虽然是新生赛,但也挺难,好些题都不会,仅把一部分作了的记下来,其它等等…

使用代理IP有风险吗?如何安全使用代理IP?

代理IP用途无处不在。它们允许您隐藏真实IP地址,从而实现匿名性和隐私保护。这对于保护个人信息、绕过地理受限的内容或访问特定网站都至关重要。 然而,正如任何技术工具一样,代理IP地址也伴随着潜在的风险和威胁。不法分子可能会滥用代理IP…

Cesium 实战 - 标绘功能系列之画面、多边形(draw polygon)

Cesium 实战 - 标绘功能系列之画面、多边形(draw polygon) 核心代码完整代码在线示例本来想着标绘功能是比较基础的功能,而且网上一搜一堆,就不在教程里放了。 后来觉得,标绘也是项目实战中非常常用的,网上虽然教程挺多,但是由于质量参差不齐,版本各不一致。 本教程系…

ue5 蓝图内修改组件附加的插槽

Target是目标,Parent是要加到哪个骨骼上,socketName是骨骼对应的插槽

【PTA主观题】8-1 文件操作

题目要求 编写函数int input(FILE * fp),录入学生的信息,自定义录入结束方式,但至少包括学号、姓名、班级、分数和登录密码,并按照学号排序后以二进制方式存入stus.dat,函数返回学生数量;定义函数void enc…

Integer超过-128-127比较问题

Integer超过-128-127比较问题 Testpublic void testEquals() {int int1 12;int int2 12;Integer integer1 new Integer(12);Integer integer2 new Integer(12);Integer integer3 new Integer(127);Integer a1 127; //或者写成Integer a1 Integer.valueOf(127);Integer a…

CAEX 学习记录

CAEX(Computer Aided Engineering eXchange)是一种用于描述工程数据和信息的标准化格式。它旨在促进不同工程工具和系统之间的信息交换和互操作性。CAEX使用XML格式来描述工程对象、关系和属性,以便在整个工程生命周期中进行信息交换和集成。…