目录
Linux 本地 Docker Registry本地镜像仓库远程连接
1. 部署Docker Registry
2. 本地测试推送镜像
3. Linux 安装cpolar
4. 配置Docker Registry公网访问地址
5. 公网远程推送Docker Registry
6. 固定Docker Registry公网地址
Linux 本地 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
点击创建
隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是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:填写保留成功的二级子域名
点击更新
(注意,点击一次更新即可,不需要重复提交)
更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定不变的二级子域名名称的域名
再次测试使用固定地址进行远程,可以看到成功了,这样一个固定且永久不变的公网地址就设置好了