如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接

这篇具有很好参考价值的文章主要介绍了如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

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

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

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

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

1. 安装Docker

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

在终端中执行下方命令:

添加Docker源

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

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

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

然后执行查看镜像命令:

sudo docker images

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

可以看到成功拉取了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

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

参数说明:

  • –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

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

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

4. 本地连接测试

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

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

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

端口填写:27017

验证填写:admin

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

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

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

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

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

我们可以使用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 管理界面配置即可。

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

5.2 创建远程连接公网地址

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

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

点击创建

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

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

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

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

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

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

小结

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

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

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

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

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

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

点击保留

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

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

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

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

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

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

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

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

点击更新

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

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

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb

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

如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接,网络穿透,ubuntu,docker,mongodb
出现连接成功表示成功,现在这个公网地址不会再随机变化,只要保持隧道正常在线,我们在外就可以通过这个公网地址远程连接到局域网内的MongoDB数据库。

以上就是如何在Ubuntu系统使用Docker部署MongoDB容器,并结合cpolar内网穿透工具实现公网远程访问内网本地服务的全部流程,感谢您的观看。文章来源地址https://www.toymoban.com/news/detail-843412.html

到了这里,关于如何在Ubuntu系统使用Docker搭建MongoDB结合内网穿透实现公网连接的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu系统搭建HadSky论坛并结合内网穿透实现无公网ip远程访问

    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老 导航 檀越剑指大厂系列:全面总

    2024年02月19日
    浏览(49)
  • 使用Tipas结合内网穿透在Ubuntu上搭建高效问题解答平台网站

    在我们的生活和工作中,经常会碰到各种各样的问题,而碰到问题的时候,通常都会到网上寻找答案,但网上寻找到的答案要么答非所问,要么全是广告,真正有价值的回答少之又少,这就让人很头疼。也正是这个痛点,催生了如“某乎”这样的问答平台,让我们能轻松快速

    2024年02月05日
    浏览(49)
  • Ubuntu如何使用宝塔面板部署开源论坛HadSky并结合内网穿透远程访问?

    经过多年的基础设施建设和科技发展,网络已经成为我们生活中不可缺少的“必需品”。在大部分情况下,我们都可以在网络上找到需要的信息,并且能够通过特定方式(如论坛、留言、评论等)与众网友们交换意见和见解。不过,在别人的地盘呆久了,总会有自己建立交互

    2024年02月03日
    浏览(54)
  • Linux系统Docker搭建Wiki.Js应用程序并结合cpolar实现公网访问内网知识库

    不管是在企业中还是在自己的个人知识整理上,我们都需要通过某种方式来有条理的组织相应的知识架构,那么一个好的知识整理工具是非常重要的,今天推荐一款维基知识库系统——Wiki.js。 本文将介绍如何用 Docker 容器技术部署 Wiki.js 应用程序,并且结合cpolar发布至公网实

    2024年04月09日
    浏览(50)
  • 本地如何使用PHP搭建简单Imagewheel云图床,结合内网穿透实现在外远程访问?

    云存储在前几年风头无两,云存储平台也如雨后春笋般冒出来。但是这两年风头退去云存储平台相继关闭,除了几个互联网大厂,其他平台都在苦苦支撑。而图床作为云存储的一个分支,更是所剩无几。但图床不仅能用来存储个人图片,也能作为网站图片的来源,想要拥有一

    2024年02月05日
    浏览(39)
  • 如何使用Docker部署开源CMF Drupal并结合cpolar内网穿透远程访问

    Dupal是一个强大的CMS,适用于各种不同的网站项目,从小型个人博客到大型企业级门户网站。它的学习曲线可能相对较陡,但一旦熟悉了它的工作方式,用户就能够充分利用其功能和灵活性。在本文中,我们将介绍如何使用Docker快速部署Drupal,并且结合cpolar内网穿透工具实现公

    2024年02月03日
    浏览(48)
  • 如何使用Docker本地部署Jupyter Notebook并结合内网穿透实现远程访问

    本文主要是Linux下通过使用Docker本地部署Jupyter Notebook并结合内网穿透实现远程访问的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 🌄每日一句:努力一点,优秀一点 文章目录 本文主要介绍如何在

    2024年01月25日
    浏览(61)
  • 如何使用CFImagehost结合内网穿透搭建私人图床并无公网ip远程访问

    @[TOC] 点击跳转 图片服务器也称作图床,可以说是互联网存储中最重要的应用之一,不仅网站需要图床提供的外链调取图片,个人或企业也用图床存储各种图片,方便随时访问查看。不过由于图床很不挣钱,各互联网大厂正在逐步关停所属的图床服务器,这也导致用户只能自

    2024年01月19日
    浏览(58)
  • 如何使用Linux docker方式快速安装Plik并结合内网穿透实现公网访问

    本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上传或者下载或者共享文件! Plik是一个可扩展且友好的临时文件上传系统,类似于wetransfer。它具有强大的命令行客户端和易于使用的Web UI,支持多个数据后端(文

    2024年02月04日
    浏览(61)
  • 如何使用docker compose结合内网穿透实现公网访问web可视化界面

    Docker Compose UI是Docker Compose的web界面。这个项目的目标是在Docker Compose之上提供一个最小的HTTP API,同时保持与Docker Compose CLI的完全互操作性。 本篇文章将dockercompose结合cpolar内网穿透软件实现公网访问docker compose web可视化界面,更直观的进行远程编写。 本文演示环境:CentOS7,

    2024年02月21日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包