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

 更新时间:2025年12月05日 09:12:09   作者:不会kao代码的小王  
本文介绍了如何使用DockerRegistry和cpolar实现本地镜像仓库的远程pull和push操作,不受本地局域网限制,步骤包括部署DockerRegistry、本地测试推送镜像、安装和配置cpolar内网穿透工具、创建公网访问地址、配置固定公网地址等

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

点击创建

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

5. 公网远程推送Docker Registry

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

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

同样拉取也是可以的

6. 固定Docker Registry公网地址

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

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

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

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

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

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

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

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

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

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Linux环境变量配置全攻略

    详解Linux环境变量配置全攻略

    这篇文章主要介绍了Linux环境变量配置全攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Linux 中PHP的安装教程

    Linux 中PHP的安装教程

    这篇文章主要介绍了Linux 中PHP的安装教程,本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-11-11
  • linux中ipset命令的使用方法详解

    linux中ipset命令的使用方法详解

    ipset是linux kernel的一个功能,可以将ip等组合成一个ipset,在iptables中可以直接指定ipset。下面这篇文章主要给大家介绍了关于linux中ipset命令的使用方法,文中介绍的非常详细,需要的朋友们下面来一起学习学习吧。
    2017-11-11
  • Linux网络--传输层--TCP协议基础详解

    Linux网络--传输层--TCP协议基础详解

    这篇文章主要介绍了Linux网络--传输层--TCP协议基础,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • Linux C++ 使用condition实现阻塞队列的方法

    Linux C++ 使用condition实现阻塞队列的方法

    下面小编就为大家带来一篇Linux C++ 使用condition实现阻塞队列的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Linux安装apache服务器的配置过程

    Linux安装apache服务器的配置过程

    这篇文章主要介绍了Linux安装apache服务器的配置过程,启动apache的命令写法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • Centos7.3开机自动启动或执行指定命令操作

    Centos7.3开机自动启动或执行指定命令操作

    这篇文章主要介绍了Centos7.3开机自动启动或执行指定命令操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 修改.htaccess实现301域名重定向示例分享

    修改.htaccess实现301域名重定向示例分享

    这篇文章主要介绍了修改.htaccess实现301域名重定向示例,需要的朋友可以参考下
    2014-03-03
  • Linux使用pt-slave-restart监控多个从库的Shell脚本案例

    Linux使用pt-slave-restart监控多个从库的Shell脚本案例

    本文介绍了如何编写并使用一个基于pt-slave-restart的Shell脚本,实现对多个MySQL从库复制状态的灵活监控,支持多种配置方式、参数覆盖、错误处理及守护进程等功能,便于高效管理数据库复制,需要的朋友可以参考下
    2025-10-10
  • 在Linux中使用MD5实现用户验证的解决方法

    在Linux中使用MD5实现用户验证的解决方法

    本篇文章小编为大家介绍,在Linux中使用MD5实现用户验证的解决方法。需要的朋友参考下
    2013-04-04

最新评论