Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MongoDB如何安装并配置公网地址实现Navicat远程连接本地数据库

MongoDB如何安装并配置公网地址实现Navicat远程连接本地数据库

作者头像
YY的秘密代码小屋
发布于 2024-07-26 05:06:11
发布于 2024-07-26 05:06:11
22200
代码可运行
举报
文章被收录于专栏:C++系列C++系列
运行总次数:0
代码可运行

前言

本文主要介绍如何在Linux Ubuntu系统快速部署MongoDB,并结合cpolar内网穿透工具实现公网远程访问本地数据库

MongoDB服务端可以运行在Linux、WindowsMacOS平台,可以存储比较复杂的数据类型,支持的查询语言非常强大,几乎可以实现类似关系数据库单表查询的绝大部分功能,还可以对数据建立索引。

直接实用包管理器安装MongoDB比较复杂,使用Docker安装部署MongoDB则相对简单快速,下面就和大家分享一下具体操作流程。

1. 安装Docker

本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker。

在终端中执行下方命令:

添加Docker源

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装Dokcer包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

通过运行映像来验证 Docker 引擎安装是否成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo docker run hello-world

2. 使用Docker拉取MongoDB镜像

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo docker pull mongo

然后执行查看镜像命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo docker images

可以看到成功拉取了MongoDB镜像。

3. 创建并启动MongoDB容器

成功拉取MongoDB镜像后,我们可以使用该镜像创建并运行一个MongoDB容器

首先在宿主机上创建存储目录/docker_mount/mongodb/data,用于持久化MongoDB数据。

您可以使用以下命令进行创建:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo mkdir -p /docker_mount/mongodb/data

然后在终端执行以下命令运行容器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo docker run -d -p 27017:27017 --name mongodb -v /docker_mount/mongodb/data:/data/db -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=password mongo

参数说明:

  • –name excalidraw:本例容器名称为mongodb,大家可以自己起名。
  • **-e MONGO_INITDB_ROOT_USERNAME=root:**初始化一个root角色的用户root
  • **-e MONGO_INITDB_ROOT_PASSWORD=password:**密码是password,大家可以自己设置。
  • -p 27017:27017: 端口进行映射,将本地27017端口映射到容器内部的27017端口。
  • **-d ** :设置容器在在后台一直运行。

然后执行下方命令查看容器是否正在运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo docker ps

可以看到刚才创建的MongoDB容器正在运行中。

4. 本地连接测试

OK,经过以上过程,docker部署 mongodb 就完成了,现在我们可以通过Navicat进行连接测试。

我使用的 Navicat 的版本是 16,如下图新建 mongodb 的连接:

主机填写宿主机ip,大家可以在终端中输入 ip addr命令进行查看。

端口填写:27017

验证填写:admin

用户名和密码填写刚才启动容器时设置的账号密码:root和password

然后点击测试连接,可以看到连接成功!

5. 公网远程访问本地MongoDB容器

不过我们目前只能在本地连接刚刚使用docker部署的MongoDB服务,如果身在异地,想要远程访问在本地部署的MongoDB容器,但又没有公网ip怎么办呢?

我们可以使用cpolar内网穿透工具来实现无公网ip环境下的远程访问需求。

5.1 内网穿透工具安装

下面是安装cpolar步骤:

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl enable cpolar
  • 启动cpolar服务
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可。

5.2 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复,本例使用了:mongo1
  • 协议:tcp
  • 本地地址:27017
  • 域名类型:随机域名
  • 地区:选择China VIP

点击创建

然后打开在线隧道列表,查看并且复制tcp协议的公网地址,注意tcp://无需复制

打开navicat或者其他连接工具,主机选项输入上面我们cpolar中创建的公网地址,端口号对应地址冒号后面生成的公网端口号。

然后点击测试连接,可以看到连接成功!

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的TCP公网地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问本地MongoDB服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的TCP地址来远程访问。

5.3 使用固定TCP地址远程访问

登录cpolar官网后台,点击左侧的预留,找到保留的tcp地址,我们来为远程连接MongoDB数据库保留一个固定tcp地址。

  • 地区:选择China vip
  • 描述:即备注,可自定义

点击保留

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

本例中地址为:6.tcp.vip.cpolar.cn:13644

然后在浏览器上访问Linux局域网ip地址+:9200端口,登录cpolar web ui管理界面。

点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的远程数据库隧道,点击右侧的编辑

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写官网保留成功的地址,

点击更新

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定tcp地址。

打开连接工具,输入官网保留的固定tcp地址,端口为地址后面对应的公网端口号,点击测试连接。

出现连接成功表示成功,现在这个公网地址不会再随机变化,只要保持隧道正常在线,我们在外就可以通过这个公网地址远程连接到局域网内的MongoDB数据库。

以上就是如何在Ubuntu系统使用Docker部署MongoDB容器,并结合cpolar内网穿透工具实现公网远程访问内网本地服务的全部流程,感谢您的观看。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
本地部署开源白板工具Excalidraw并结合内网穿透远程绘制流程图
Excalidraw是一款手绘风格流程图、示意图、架构图在线绘制工具,界面简洁,交互细致,上手简单,操作习惯和大部分制图软件相似。使用Docker部署Excalidraw容器非常简单,只需一行命令即可快速实现本地部署。
YIN_尹
2024/05/07
1.1K0
本地部署开源白板工具Excalidraw并结合内网穿透远程绘制流程图
Linux Ubuntu系统安装MySQL并实现公网连接本地数据库【内网穿透】
本文主要介绍如何使用Docker部署MySQL,并结合cpolar内网穿透工具实现远程访问本地数据库。
学编程的小程
2024/05/26
3230
Linux Ubuntu系统安装MySQL并实现公网连接本地数据库【内网穿透】
【无公网IP】在外Windows远程连接MongoDB数据库
转载自cpolar极点云文章:公网远程连接MongoDB数据库【内网穿透】 前言
程思扬
2023/07/10
4460
【无公网IP】在外Windows远程连接MongoDB数据库
使用内网穿透为本地欧拉操作系统配置公网地址实现其他设备ssh远程连接
本教程主要分享如何在华为欧拉openEuler系统中安装cpolar内网穿透工具实现使用ssh远程连接openEule系统.
YIN_尹
2024/08/16
1840
使用内网穿透为本地欧拉操作系统配置公网地址实现其他设备ssh远程连接
Linux系统安装开源白板Excalidraw结合内网穿透实现远程在线绘图
本文主要介绍如何在Ubuntu系统使用Docker部署开源白板工具Excalidraw,并结合cpolar内网穿透工具实现公网远程访问绘制流程图。
E绵绵
2024/08/06
2570
Linux系统安装开源白板Excalidraw结合内网穿透实现远程在线绘图
如何安装DataEase数据分析工具并配置公网地址远程访问
DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。
大海里的番茄
2024/06/07
2870
如何安装DataEase数据分析工具并配置公网地址远程访问
如何在Linux系统使用Docker安装Joplin笔记服务并实现远程多端同步
本文介绍如何在自己的服务器上利用docker搭建 Joplin Server,并对同步进行配置,再结合cpolar内网穿透工具实现公网远程访问本地Joplin Sever。
aosei
2024/03/12
3.1K0
如何在Linux系统使用Docker安装Joplin笔记服务并实现远程多端同步
群晖NAS私有化数据库搭建方案:MySQL结合phpMyAdmin实现远程连接
对于运维来说,平时还好,一旦出门在外想要远程数据库管理时总是让人头疼,今天给大家揭秘一个绝招——如何在群晖NAS上安装MySQL和phpMyAdmin,并用cpolar内网穿透工具轻松实现公网访问。想象一下,在咖啡馆、办公室甚至家里,只要打开浏览器就能轻松搞定数据库,是不是觉得超酷炫?别眨眼,跟着我一步步操作,保证让你成为数据管理界的达人!
命运之光
2025/02/28
1840
群晖NAS私有化数据库搭建方案:MySQL结合phpMyAdmin实现远程连接
教你异地远程连接威联通NAS,无需公网IP
购入威联通NAS后,很多用户对于如何在外在公网环境下的远程访问威联通NAS不太熟悉,但这又很有必要。所以,本次教程分享如何实现在外远程访问连接家里内网的威联通NAS,无需公网IP,也不用设置路由器,简单通过cpolar内网穿透来实现。
程思扬
2023/07/24
2K0
教你异地远程连接威联通NAS,无需公网IP
本地安装Jupyter笔记结合内网穿透配置公网地址实现异地远程记笔记
本文主要介绍如何在Ubuntu系统中使用Docker本地部署Jupyter Notebook,并结合cpolar内网穿透工具实现任意浏览器公网远程访问本地部署的Jupyter Notebook界面。
YY的秘密代码小屋
2024/09/20
1430
本地安装Jupyter笔记结合内网穿透配置公网地址实现异地远程记笔记
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
本文主要介绍如何在Linux Ubuntu系统使用Docker快速部署Cloudreve云盘系统,并结合cpolar内网穿透工具实现无公网IP也能轻松远程访问本地云盘管理文件。
屿小夏
2024/05/26
4400
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
本地开启群晖SFTP服务并使用Cpolar配置公网地址实现异地远程连接
本文主要介绍如何将在群晖NAS中开启SFTP服务,并安装cpolar内网穿透工具配置公网地址,轻松打造一套高效、安全的跨网络远程文件传输解决方案,享受无缝的远程工作与生活体验。
FGGIT
2024/10/15
1460
本地开启群晖SFTP服务并使用Cpolar配置公网地址实现异地远程连接
如何使用RDM在公网环境远程访问本地Docker部署的Redis数据库
本文主要介绍如何在Ubuntu使用Docker部署Redis容器并结合cpolar内网穿透工具实现无公网ip环境远程访问本地数据库。
YY的秘密代码小屋
2024/06/05
2990
如何使用RDM在公网环境远程访问本地Docker部署的Redis数据库
公网远程连接Redis数据库「内网穿透」
下面介绍如何在内网虚拟机的linux中搭建redis并通过cpolar内网穿透实现公网访问
iOS Magician
2023/04/23
1.2K0
公网远程连接Redis数据库「内网穿透」
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格
wps-office是一个在Linux服务器上部署WPS Office的镜像。它基于WPS Office的Linux版本,通过Docker容器化的方式提供了一个完整的WPS Office环境,使得用户可以在Linux服务器上轻松地使用WPS Office进行文档处理、表格制作和幻灯片演示等操作。
@小森
2024/04/16
5860
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格
如何在CentOS7搭建DashDot服务器仪表盘并实现远程监控
DashDot是一款简单、实用的开源现代服务器仪表盘,主要应用于小型 VPS 和私人服务器(比如说NAS),它是一个界面非常漂亮的监控服务器面板!
YY的秘密代码小屋
2024/03/16
2360
如何在CentOS7搭建DashDot服务器仪表盘并实现远程监控
本地Linux服务器安装Nginx流程结合内网穿透实现无公网IP远程连接
在开发人员的工作中,公网远程访问内网是其必备的技术需求之一。对于运维人员和开发者来说,能够通过公网远程访问内部的服务和应用,能够极大地提升工作效率和便利性。本文将介绍如何利用 Ubuntu操作系统、Docker容器技术以及cpolar内网穿透工具来实现公网远程访问本地Nginx服务器的具体操作流程。
命运之光
2024/09/11
1650
本地Linux服务器安装Nginx流程结合内网穿透实现无公网IP远程连接
如何在公网环境下远程连接到本地局域网内的CasaOS小主机进行管理
本文主要介绍如何在刷了CasaOS的XX云中使用SSH安装cpolar内网穿透工具,实现公网远程访问本地XX云主机查看存储的文件或者使用本地部署的服务。
YIN_尹
2024/11/29
4050
如何在公网环境下远程连接到本地局域网内的CasaOS小主机进行管理
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
Nacos是阿里开放的一款中间件,也是一款服务注册中心,它主要提供三种功能:持久化节点注册,非持久化节点注册和配置管理。
学编程的小程
2024/05/26
2350
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
「Cpolar」内网穿透实现在外远程连接MongoDB数据库【端口映射】
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
THUNDER王
2023/05/11
1.2K0
「Cpolar」内网穿透实现在外远程连接MongoDB数据库【端口映射】
推荐阅读
本地部署开源白板工具Excalidraw并结合内网穿透远程绘制流程图
1.1K0
Linux Ubuntu系统安装MySQL并实现公网连接本地数据库【内网穿透】
3230
【无公网IP】在外Windows远程连接MongoDB数据库
4460
使用内网穿透为本地欧拉操作系统配置公网地址实现其他设备ssh远程连接
1840
Linux系统安装开源白板Excalidraw结合内网穿透实现远程在线绘图
2570
如何安装DataEase数据分析工具并配置公网地址远程访问
2870
如何在Linux系统使用Docker安装Joplin笔记服务并实现远程多端同步
3.1K0
群晖NAS私有化数据库搭建方案:MySQL结合phpMyAdmin实现远程连接
1840
教你异地远程连接威联通NAS,无需公网IP
2K0
本地安装Jupyter笔记结合内网穿透配置公网地址实现异地远程记笔记
1430
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
4400
本地开启群晖SFTP服务并使用Cpolar配置公网地址实现异地远程连接
1460
如何使用RDM在公网环境远程访问本地Docker部署的Redis数据库
2990
公网远程连接Redis数据库「内网穿透」
1.2K0
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格
5860
如何在CentOS7搭建DashDot服务器仪表盘并实现远程监控
2360
本地Linux服务器安装Nginx流程结合内网穿透实现无公网IP远程连接
1650
如何在公网环境下远程连接到本地局域网内的CasaOS小主机进行管理
4050
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
2350
「Cpolar」内网穿透实现在外远程连接MongoDB数据库【端口映射】
1.2K0
相关推荐
本地部署开源白板工具Excalidraw并结合内网穿透远程绘制流程图
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验