Docker Registry本地镜像仓库部署并实现远程连接拉取镜像

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

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

相关文章

Centos系列:shell编程综合练习(个人学习记录)

shell编程综合练习(个人学习记录) shell编程until 循环跳出循环1. break命令2. continue 命令 Shell函数特殊变量输入输出重定向输出重定向输入重定向重定向 Shell实战监控centos7运行状态/proc/stat文件编写脚本free命令监控系统内存 shell编程 until …

ubuntu几个版本开启或关闭图形界面小结

在下面几个系统做过验证: ubuntu-16.04.7-desktop-amd64(内核版本:Linux 4.15.0-112) ubuntu-18.04.6-desktop-amd64(内核版本:Linux 5.4.0-150) ubuntu-20.04.6-desktop-amd64(内…

h5网站开发-微信浏览器无法自动播放视频的解决方式?

一、需求: 使用h5开发的网站,首页的banner是一个video视频,在PC端上和手机浏览器上都能正常播放,但是在手机微信浏览器里面视频是无法自动播放的。 二、实现效果: 1.微信浏览器的效果: 2.正常效果&…

如何实现高效代码审查,赋能大规模开发

对于许多企业来说,代码审查都是开发过程中不可缺少的一环。软件开发人员通常会对代码审查感到又爱又恨。一般来说,实施代码审查的企业普遍认为通过及早发现问题和低效率,在长远来看可节省时间。 阅读本篇文章,您将了解到什么是代…

JS浮点数精度问题及解决方案

前端面试大全JS浮点数精度问题及解决方案 🌟经典真题 🌟浮点数精度常见问题 🌟为什么会有这样的问题 🌟真题解答 🌟总结 🌟经典真题 为什么 console.log(0.20.10.3) 得到的值为 false 🌟…

vs-code之vue3插件

1.Vue 3 Support - All In One Vue3 代码片段突出显示了 Visual Studio Code 的格式化程序生成器 生成vue3对应的的代码 如ref等, 2.Volar 相信使用 VSCode 开发 Vue2 的同学一定对 Vetur 插件不会陌生,作为 Vue2 配套的 VSCode 插件,它的主…

C++学习之路(十)C++ 用Qt5实现一个工具箱(增加一个时间戳转换功能)- 示例代码拆分讲解

上篇文章,我们用 Qt5 实现了在小工具箱中添加了《JSON数据格式化》功能,还是比较实用的。为了继续丰富我们的工具箱,今天我们就再增加一个平时经常用到的功能吧,就是「 时间戳转换 」功能,而且实现点击按钮后文字进行变…

Unity中C#如何访问并修改Shader材质

文章目录 前言一、我们用点击按钮来改变Shader传入的颜色值1、在渲染GUI时,绘制一个按钮2、我们使用一个公共的成员变量存储需要进行修改的游戏对象3、最后给绘制的按钮点击增加逻辑即可 二、测试使用的代码1、Shader代码:2、C#脚本 前言 我们写好Shade…

电源自动测试系统| 电源模块温度循环怎么测试?

在一些应用领域,电源模块会在极端环境温度条件下工作。为了确保电源在高低温环境下可以正常运行,满足设备需求,需要对电源模块进行温度循环测试。 温度循环测试是指电源模块经过升温、保温、降温等多次循环试验来检测其在温度变化下的耐热性、…

关于自动化测试框架pytest的Fixture固件

什么是固件 Fixture 翻译成中文即是固件的意思。它其实就是一些函数,会在执行测试方法/测试函数之前(或之后)加载运行它们,常见的如接口用例在请求接口前数据库的初始连接,和请求之后关闭数据库的操作。 我们之前在A…

Hana Studio打开BW失败

Hana Studio打开BW失败 JCo initialization failed with java.lang.UnsatisfiedLinkError: D:\ycy\BW培训\HANA\configuration\org.eclipse.osgi\357\0.cp\lib\sapjco3.dll: Can’t find dependent libraries 这个提示应该是VC版本问题,按如下链接中的地址下载安装…

使用SD-WAN新方式,解锁分公司访问总部私有云

某企业是一家跨地区运营的大型企业,总部位于上海,拥有多个分公司遍布全国。其中北京分公司作为该企业在北方地区的重要分支机构,负责着该地区的市场开拓和业务发展。 为了实现分公司与总部之间的有效沟通和信息共享,北京分公司使用…

Linux快速配置拨号

在Linux上进行ADSL拨号配置,通常需要使用pppoeconf命令进行设置。pppoeconf是一个用于配置pppoe连接的工具,它可以帮助用户快速设置pppoe连接并生成配置文件。下面是一个详细的步骤指南,以帮助您在Linux上进行ADSL拨号配置。 步骤1&#xff…

ToDesk优惠码来了,需要的不容错过

最近发现Todesk也有活动了,很多小伙伴不知道,除了中秋国庆双节,ToDesk另有专享优惠码,输入优惠码最高立减25元,即使是活动日也能折上折,不影响此优惠码的折扣力度! Todesk作为国内优良的远程控制…

Centos系列:Centos7下的DNS服务器部署(每一步图文结合超详细,适用于初学者)

Centos7下的DNS服务器部署(每一步图文结合超详细,适用于初学者) Centos7下的DNS服务器部署引言部署步骤实验环境DNS服务端:DNS客户端: 正向解析安装DNS(DNS服务端,客户端都要操作)修…

node.js学习笔记——内部模块、自定义模块的导入和使用方式

文章目录 前文提要内部模块fs模块导入方式fs.readFilefs.writeFile path模块导入方式__dirnamepath.join http模块导入方式创建服务器实例绑定request事件启动服务器 自定义模块和第三方模块导入方式模块作用域 共享方式 前文提要 本人仅做个人学习记录,如有错误&a…

gitlab-ci.yml 同步https 仓库地址

1. 先在要部署的机器上,执行如下命令, 输入一次密码后,保存该密码git config --global credential.helper store2. 然后执行 git pull 命令, 然后会提示输入密码, 输入密码即可.3. 编写 gitlab-ci.yml 文件stages:- deploy# 部署master服务 deployMaster…

ubuntu 创建conda 环境失败 HTTP 000 CONNECTION FAILED

如有帮助点赞收藏关注! 如需转载,请注明出处! 现在内存分配好了,创建一个专门的conda环境处理文件,报错了,创建不成功! 什么情况,之前明明可以的。 百度吧。 参照一些博客修改了文档…

Linux进程切换

引入 Question&#xff1a; 为什么函数的返回值能在函数的外部被拿到呢&#xff1f;局部变量不是出了作用域就要被销毁嘛&#xff1f; #include<stdio.h>int Add(int a, int b) {int ret a b;return ret; } int main() {int a 10, b 20;int ret Add(a, b);return …

JS实现桶排序

桶排序&#xff08;Bucket Sort&#xff09;作为一种分布式排序算法&#xff0c;具有简单、直观且高效的特点。本文将深入研究桶排序的原理、实现方式等。 什么是桶排序 公众号&#xff1a;Code程序人生&#xff0c;个人网站&#xff1a;https://creatorblog.cn 桶排序是一种分…