Linux使用Docker部署Nacos容器并结合内网穿透实现公网访问本地服务

文章目录

    • 推荐
    • 1. Docker 运行Nacos
    • 2. 本地访问Nacos
    • 3. Linux安装Cpolar
    • 4. 配置Nacos UI界面公网地址
    • 5. 远程访问 Nacos UI界面
    • 6. 固定Nacos UI界面公网地址
    • 7. 固定地址访问Plik

推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击跳转到网站】在这里插入图片描述

Nacos是阿里开放的一款中间件,也是一款服务注册中心,它主要提供三种功能:持久化节点注册,非持久化节点注册和配置管理。

本例通过结合Cpolar内网穿透实现远程访问Nacos 提供的UI (控制台)界面,帮助管理所有的服务和应用的配置

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

下面开始介绍在Docker运行Nacos并安装Cpolar 工具实现远程访问.

1. Docker 运行Nacos

执行Docker一键运行命令,下面是对应的命令参数解释,当然,不一定是docker部署,本例为了方便演示远程访问Nacos UI界面,所以采用docker快速部署方式.

docker run --name nacos -d -p 8848:8848 -p 9848:9848 -p 9849:9849 --privileged=true --restart=always -e MODE=standalone -e PREFER_HOST_MODE=hostname nacos/nacos-server:2.0.3
--name nacos:指定容器名称为 “nacos”,可根据自己的需要自定义修改名称

-d:在后台模式下运行容器

-p 8848:8848 -p 9848:9848 -p 9849:9849:将容器的端口 8848、9848 和 9849 映射到主机的相应端口,可以根据需要进行端口映射的修改。

--privileged=true:给容器赋予特权模式,以便容器内的进程可以访问主机的部分资源。

--restart=always:设置容器总是在退出后自动重启。

-e MODE=standalone:设置 Nacos 启动模式为单机模式。

-e PREFER_HOST_MODE=hostname:设置容器主机名作为 Nacos 的拓扑节点名称。

nacos/nacos-server:2.0.3:基于 nacos/nacos-server 镜像的 2.0.3 版本启动容器,可以根据需要选择其他适合的版本

运行后,输入docker ps 即可看到我们运行的Nacos容器,下面我们进行本地访问测试

image-20231215135241694

2. 本地访问Nacos

上面容器运行后,Nacos的UI管理界面端口在8848端口,打开浏览器,使用Linux局域网IP:8848端口/nacos,即可成功访问到了Nacos管理界面,

image-20231215140917391

输入默认账号nacos和默认密码nacos,即可登录成功,本地部署运行就完成了,下面我们安装Cpolar工具,实现远程访问

image-20231215142502302

3. Linux安装Cpolar

上面在本地Docker中成功部署了Nacos服务,并局域网访问成功,下面我们在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. 配置Nacos UI界面公网地址

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

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

点击创建

image-20231215143910659

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

image-20231215143947073

5. 远程访问 Nacos UI界面

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

image-20231215144200959

小结

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

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

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

6. 固定Nacos UI界面公网地址

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

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

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

image-20231215144357423

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

image-20231215144421743

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

image-20231215144448393

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

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

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

image-20231215144513885

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

image-20231215144533009

7. 固定地址访问Plik

最后,我们使用固定的公网https地址加上资源路径/nacos访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问本地Nacos UI 界面来查看我们注册中心里面的服务.

image-20231215144810391

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络设备和网络软件

文章目录 网络设备和网络软件网卡交换机交换机的三个主要功能交换机的工作原理第二层交换和第三层交换交换机的堆叠和级联 路由器路由器工作原理 网关网关的分类 无线接入点(AP)调制解调器网络软件 网络设备和网络软件 网卡 网络接口卡又称网络适配器,简称网卡。网…

代码随想录day34--动态规划的应用2 | LeetCode343.整数拆分、LeetCode96.不同的二叉搜索树

LeetCode343.整数拆分 题目描述: 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。…

如何使用Axure RP制作web页面并实现无公网ip远程访问——“cpolar内网穿透”

文章目录 前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4.2 启动website隧道4.3 获取公网URL地址4.4. 公网远程访问内网web站点4.5 配置固定二级子域名公网访问内网web站点4.5.1创建一条固定…

智慧校园|智慧校园管理小程序|基于微信小程序的智慧校园管理系统设计与实现(源码+数据库+文档)

智慧校园管理小程序目录 目录 基于微信小程序的智慧校园管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、微信小程序前台 2、管理员后台 (1)学生信息管理 (2) 作业信息管理 (3)公告…

DM数据库学习之路(十六)DEM部署DM8DPC集群

DEM部署DPC集群 DPC准备工作 在所有安装DPC服务器上部署dmagent,dmagent的运行环境需要依赖JAVA环境,JAVA版本必须为JAVA1.8。 创建用户 所有安装DPC服务器,手工建dmdba用户 # groupadd dinstall # useradd -g dinstall -d /home/dmdba…

Java数据结构----时间和空间复杂度

目录 1.算法效率 2.时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 2.3 推导大O阶方法 3.4 常见时间复杂度计算举例 3.空间复杂度 1.算法效率 算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度&#xf…

手机通用便签APP哪个比较好用?

手机通用便签APP哪个比较好用?随着现代科技的不断发展,手机的更新换代频率是比较快的,基本两三年就会换新手机。其中Android和iOS系统为手机主要使用系统,有些用户在使用一个系统腻了后,通常想更换另一个系统的品牌手机…

哪些行业适合做小程序?零售电商、餐饮娱乐、旅游酒店、教育生活、医疗保健、金融社交、体育健身、房产汽车、企管等,你的行业在其中么?

引言 在当今数字化时代,小程序成为了各行各业快速发展的数字工具之一。它的轻便、灵活的特性使得小程序在多个行业中找到了广泛的应用。本文将探讨哪些行业适合开发小程序,并介绍各行业中小程序的具体应用。 一、零售和电商 在当今数字化的商业环境中&…

select a,b,c from 表 where b=1 and c=1; abc是联合索引,这样查询会命中索引吗?

如果select 只显示索引列 那么会命中索引 如果select * 那么不会走索引,会查全表

Linux系统中前后端分离项目部署指南

目录 一.nginx安装以及字启动 解压nginx 一键安装4个依赖 安装nginx 启动 nginx 服务 开放端口号 并且在外部访问 设置nginx自启动 二.配置负载均衡 1.配置一个tomact 修改端口号 8081端口号 2.配置负载均衡 ​编辑 三.部署前后端分离项目 1.项目部署后端 ​编辑…

互联网加竞赛 大数据房价预测分析与可视

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 大数据房价预测分析与可视 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖,适合…

国产替代MATLAB的征途

国产替代MATLAB的征途 The Journey of Domestic Alternatives to MATLAB 在科技的浪潮中,软件成为了推动进步的重要工具。MATLAB,这一工程和科学计算的巨擘,因其强大的数值分析、矩阵运算能力和丰富的应用工具箱,在全球学术界和工…

【c语言】字符函数和字符串函数(上)

前言 在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了⼀系列库函数~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 前言 1. 字符分…

nginx 第三方模块 与变量

一, 网页的状态页 详细见上一章 《nginx 配置文件详细介绍》 二,Nginx 第三方模块 开源 不是官方模块 别人写的 你编译进nginx(./configure 这一步添加的模块) (一)ehco 模块 这边以echo 模块为…

MySQL-行转列,链接查询

1. 行转列 1.1 示例数据准备 create table test_9(id int,name varchar(22),course varchar(22),score decimal(18,2) ); insert into test_9 (id,name,course,score)values(1,小王,java,99); insert into test_9 (id,name,course,score)values(2,小张,java,89.2); inse…

RocketMQ - 消息中间件路由中心的架构原理

1. NameServer到底可以部署几台机器 要部署RocketMQ,就得先部署NameServer,那么NameServer到底可以部署几台机器呢?是一台机器还是可以部署多台机器,如果部署多台机器,他们之间是怎么协同工作的? NameSer…

备战蓝桥杯————递归反转单链表

当要求只反转单链表中的一部分时,递归实现确实具有一定的挑战性,但也是可行的。下面我将介绍一种递归实现的方法来反转单链表中的一部分。 一、反转链表 题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示…

Mac 下 Python+Selenium 自动上传西瓜视频

背景 研究下 PythonSelenium 自动化测试框架,简单实现 Mac 下自动化批量上传视频西瓜视频并发布,分享给需要的同学(未做过多的异常处理)。 脚本实现 首先通过手工手机号登录,保存西瓜视频网站的 cookie 文件 之后加载…

基于java在线调查表单系统

基于java在线调查表单系统 一、演示效果二、特性汇总三、下载链接 一、演示效果 二、特性汇总 多种技术方案,满足不同的技术选型需求完善的浏览器兼容、保证传统客户也能正常使用部署简单,一行命令完成部署更新方便,直接替换原安装文件不用担…

通过二叉树例题深入理解递归问题

目录 引入: 例1:二叉树的前序遍历: 例2: N叉树的前序遍历: 例3:二叉树的最大深度: 例4:二叉树的最小深度 例5:N叉树的最大深度: 例6:左叶子…