如何在CentOS安装Nexus容器无公网IP远程管理本地仓库

文章目录

    • 1. Docker安装Nexus
    • 2. 本地访问Nexus
    • 3. Linux安装Cpolar
    • 4. 配置Nexus界面公网地址
    • 5. 远程访问 Nexus界面
    • 6. 固定Nexus公网地址
    • 7. 固定地址访问Nexus

Nexus是一个仓库管理工具,用于管理和组织软件构建过程中的依赖项和构件。它与Maven密切相关,可以作为Maven仓库的服务器。Nexus提供了一个集中式的位置,用于存储和共享构件,使团队成员能够方便地访问和部署这些构件。

Cpolar内网穿透是一种安全的内网穿透云服务,可以将内网下的本地服务器通过安全隧道暴露至公网,使得公网用户可以正常访问内网服务。它支持HTTP、HTTPS、TCP协议端口映射。

下面介绍在Linux中使用Docker来一键部署Nexus Maven私有仓库工具并结合安装Cpolar实现远程访问Nexus 进行管理.

1. Docker安装Nexus

这里使用 Docker Compose 来运行Nexus 容器,首先,在任意目录下创建一个名为 docker-compose.yml 的文件

sudo vim docker-compose.yml

然后添加以下内容:

version: '3'
services:nexus:image: sonatype/nexus3ports:- "8081:8081"volumes:- nexus-data:/nexus-datavolumes:nexus-data:

image-20231219134621611

添加完成后,保存,然后执行docker-compose up -d启动容器,等待容器运行完成

image-20231219134913817

运行完成后执行docker ps 命令即可看到我们运行的Nexus容器,访问端口为8081,下面我们进行本地访问测试

image-20231219135015958

2. 本地访问Nexus

上面我们运行Nexus后,在浏览器输入Linux局域网IP加8081端口,即可成功访问Nexus管理界面,下面安装介绍安装Cpolar内网穿透工具,实现无公网也可以远程访问本地Nexus 界面

image-20231219135656425

3. Linux安装Cpolar

上面在本地Docker中成功部署了Nexus服务,并局域网访问成功,下面我们在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 管理界面配置即可

image-20231016143741228

4. 配置Nexus界面公网地址

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

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

点击创建

image-20231219141518634

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

image-20231219141608264

5. 远程访问 Nexus界面

使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们Nexus欢迎界面,这样一个公网地址且可以远程访问就创建好了,使用了Cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问 !

image-20231219141734613

小结

为了更好地演示,我们在前述过程中使用了Cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.cn)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:nexus.cpolar.cn),这样更显正式,便于流交协作。

6. 固定Nexus公网地址

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

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

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

image-20231219142101362

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

image-20231219142122954

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

image-20231219142606047

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

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

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

image-20231219142637402

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

image-20231219142658031

7. 固定地址访问Nexus

最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问本地Nexus 界面进行对仓库管理.

image-20231219142935402

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

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

相关文章

LeetCode-394. 字符串解码【栈 递归 字符串】

LeetCode-394. 字符串解码【栈 递归 字符串】 题目描述:解题思路一:辅助栈法解题思路二:递归法解题思路三:0 题目描述: 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string]…

Golang 为什么需要用反射

本质上是可以动态获取程序运行时的变量(类型) 比如现在我想实现一个通用的db插入函数,支持我传入所有类型的struct,每一种类型的struct是一个单独的表,以struct的名称作为表名,然后插入到不同的表中。 pa…

ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录

文章目录 截图1.在开发者网站的app id中添加Sign in with Apple功能2.在Xcode中添加Sign in with Apple功能3.代码:只有第一次登录的时候可以获取到用户名参考博客chatGPT答案 截图 1.在开发者网站的app id中添加Sign in with Apple功能 1.1 如果你新建app id,记得在…

Spring事务简介,事务角色,事务属性

1.Spring事务简介 事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或业务层保障一系列的数据操作同成功同失败 public interface PlatformTransactionManager{void commit(TransactionStatus status) throws TransactionE…

Qt 翻译工具:使用 tr() 函数实现多语言支持

引言 在开发跨平台应用程序时,支持多语言是一个常见需求。Qt 提供了一套完整的国际化工具,帮助开发者轻松实现应用程序的本地化。本文将介绍如何在 Qt 中使用 tr() 函数进行翻译,并总结一些常见的困难和解决方法。 使用 tr() 函数进行翻译 …

CSS中的类命名

CSS类名在开发中一般都是简单的命名一下,例如 nav、title、menu 等等,但是这也带来了问题,出现命名冲突的时候不知道是哪里引起的,加上 CSS 本身权重的问题就更加棘手。如果是小项目,代码不多、开发人员较少还可以控制…

plasmo开发浏览器插件动态setIcon修改插件图标和setBadgeText显示徽标

动态修改图标和设置徽标主要用到action这个api,官网地址:https://developer.chrome.com/docs/extensions/reference/api/action?hlzh-cn#method-setIcon 如果你使用官方原生的方式开发,加载和修改图标应该是比较简单的,但是如果…

2024.4.7力扣每日一题——王位继承顺序

2024.4.7 题目来源我的题解方法一 哈希表多叉树的前序遍历 题目来源 力扣每日一题;题序:1600 我的题解 方法一 哈希表多叉树的前序遍历 发现继承顺序的生成与多叉树的前序遍历一致,只需要在遍历过程中将已经去世的给排除就可以了。 如何存…

Ubuntu系统中,使用`nohup`命令启动Java程序。nohup参数说明、验证启动、停止程序详细教程

在Ubuntu系统中,使用nohup命令启动Java程序可以实现在后台运行程序,即使终端关闭或用户注销,程序也会继续运行。以下是使用nohup启动Java程序的步骤: 打开终端。 进入到你的Java程序所在的目录,或者确保JAVA_HOME环境…

valgrind 是个啥?

最近在看PG代码时,看到许多VALGRIND相关的宏,例如 VALGRIND_MAKE_MEM_DEFINED、 VALGRIND_MAKE_MEM_NOACCESS,特别是移植PG的某模块到OG时,由于OG中没有定义这些宏,遇到这些宏,一开始我也不知道该怎么办了。…

C语言面试题之合并排序的数组

合并排序的数组 实例要求 1、给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B; 2、编写一个方法,将 B 合并入 A 并排序; 3、初始化 A 和 B 的元素数量分别为 m 和 n; 示例: 输入: A [1,2,3,0…

小剧场短剧剧集收费短剧小程序APP

1. 内容展现 付费、免费、任务解锁:用户可以通过付费直接观看短剧,也可以通过完成平台任务(如签到、分享等)获得免费观看的机会。这种灵活的解锁方式既满足了用户的多种需求,也促进了平台的活跃度。主流展现形式&…

蓝桥杯简单模板

目录 最大公约数 两个数的最大公约数 多个数的最大公约数 最小公倍数 两个数的最小公倍数 多个数的最小公倍数 素数 ​编辑 位数分离 正写 ​编辑 反写 闰年 最大公约数 两个数的最大公约数 之前看见的是辗转相除法,例如现在让算一个49,21…

libVLC 提取视频帧使用OpenGL渲染

在上一节中,我们讲解了如何使用QWidget渲染每一帧视频数据。 由于我们不停的生成的是QImage对象,因此对 CPU 负荷较高。其实在绘制这块我们可以使用 OpenGL去绘制,利用 GPU 减轻 CPU 计算负荷,本节讲解使用OpenGL来绘制每一帧视频…

Leetcode面试经典150_Q169多数元素

题目: 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊n/2⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 解题思路: 1. 注意“大于 ⌊n/2⌋”,…

【每日一题】2529. 正整数和负整数的最大计数-2024.4.9

题目: 2529. 正整数和负整数的最大计数 给你一个按 非递减顺序 排列的数组 nums ,返回正整数数目和负整数数目中的最大值。 换句话讲,如果 nums 中正整数的数目是 pos ,而负整数的数目是 neg ,返回 pos 和 neg二者中…

A Survey for LLM

一、背景介绍 我们关注大模型中的两个主流:大语言模型和预训练的基础模型。01 大语言模型(LLMs) 语言建模是许多自然语言处理任务的基础,而大语言模型(LLMs)的初衷是为了提高语言建模的性能。与传统的神经语…

STM32之HAL开发——串行FLASH文件系统FatFs

文件系统 文件系统是为了存储和管理数据,而在存储介质建立的一种组织结构,这些结构包括操作系统引导区、目录和文件。 常见的 windows 下的文件系统格式包括 FAT32、 NTFS、exFAT。 在使用文件系统前,要先对存储介质进行格式化。格式化先擦除…

React 状态管理:高效处理数组数据的5种方法

1.原因 为什么在 React 中,状态(state)如果是数组类型,需要单独处理?主要有以下几个原因: 不可变性(Immutability): React 中的状态是不可变的,意味着我们不能直接修改状态,而是要创建一个新的状态对象。对于数组来说,直接修改数组元素是不符合 React 的设计原则的…

[LeetCode][LCR133]位 1 的个数——快速从右边消去1

题目 LCR 133. 位 1 的个数 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。 提示: 请注意,在某些语言…