Linux系统部署MongoDB开源文档型数据库并实现无公网IP远程访问17认证网

正规官方授权
更专业・更权威

Linux系统部署MongoDB开源文档型数据库并实现无公网IP远程访问

文章目录

  1. 安装Docker
  2. 使用Docker拉取MongoDB镜像
  3. 创建并启动MongoDB容器
  4. 本地连接测试
  5. 公网远程访问本地MongoDB容器

5.1 内网穿透工具安装

5.2 创建远程连接公网地址

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

前言

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

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

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

1. 安装Docker

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

在终端中执行下方命令;

添加Docker源

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 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包

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

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

sudo docker run hello-world

2. 使用Docker拉取MongoDB镜像

sudo docker pull mongo

然后执行查看镜像命令;

sudo docker images

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

3. 创建并启动MongoDB容器

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

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

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

sudo mkdir -p /docker_mount/mongodb/data

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

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 ** ;设置容器在在后台一直运行。

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

sudo docker ps

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

4. 本地连接测试

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

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

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

端口填写;27017

验证填写;admin

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

然后点击测试连接;可以看到连接成功#xff01;

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

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

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

5.1 内网穿透工具安装

下面是安装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 管理界面配置即可。

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内网穿透工具实现公网远程访问内网本地服务的全部流程;感谢您的观看。

版权声明:本文为博主原创文章,转载自CSDN,作者:深鱼~

原文链接:https://blog.csdn.net/qq_73017178/article/details/140203885

想了解更多相关,可通过下方扫码关注

详情咨询

可扫码添加上智启元官方客服微信👇

未经允许不得转载:17认证网 » Linux系统部署MongoDB开源文档型数据库并实现无公网IP远程访问
分享到:0

评论已关闭。

400-663-6632
咨询老师
咨询老师
咨询老师