使用Docker本地搭建蚂蚁笔记并实现无公网IP远程访问

文章目录

    • 1. 安装Docker
    • 2. Docker本地部署Leanote蚂蚁笔记
    • 3. 安装cpolar内网穿透
    • 4. 固定Leanote蚂蚁笔记公网地址

本篇文章介绍如何使用Docker部署Leanote蚂蚁笔记,并且结合cpolar内网穿透实现公网远程访问本地笔记编辑并制作个人博客等。

Leanote 蚂蚁笔记是一款云笔记工具,蚂蚁笔记(又名LeaNote)就是一款国产开源的私有云笔记软件。它支持普通格式笔记、Markdown语法、专业数学公式编辑、和思维脑图,常见的笔记相关功能它都拥有,同时也支持 vim&emacs 输入,持私有本地部署。Leanote也可以作为你的个人博客, 结合cpolar内网穿透把你的知识传播的更远!

1708321074571

1. 安装Docker

本文演示环境:CentOS 7,Xshell7远程ssh

没有安装Docker的小伙伴需安装Docker,已有Docker可跳过以下步骤。

如没有安装Docker,需先安装Docker:

  • 安装软件包(提供实用程序)并设置存储库

    $ sudo yum install -y yum-utils
    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    

    安装Docker引擎

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

    启动Docker

    sudo systemctl start docker
    

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

    sudo docker run hello-world
    

2. Docker本地部署Leanote蚂蚁笔记

检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

systemctl status docker

检查Docker版本

docker -v

下载Leanote镜像,本次使用Leanote容器镜像从dockerhub拉取,版本为latest版本

docker pull axboy/leanote

462826f279de6d977a141fffc489ad1

部署Leanote应用

创建Leanote容器挂载的数据目录

mkdir -p /data/leanote/{db,conf,files,upload}
cd /data/leanote/

使用docker-cli命令快速创建Leanote容器

docker run -d -p 9800:9000 \-e "TZ=Asia/Shanghai"\--restart=always\-v /data/leanote/db:/data/db \-v /data/leanote/conf/:/data/leanote/conf \-v /data/leanote/files:/data/leanote/files \-v /data/leanote/upload:/data/leanote/public/upload \-m 50M --oom-kill-disable --memory-swap=-1\--name leanote \axboy/leanote

4a23ca81b05028b50d4a0303a28f063

检查Leanote容器状态状态

docker ps

检查Leanote容器所在系统资源

docker stats --no-stream leanote

打开新的浏览器直接访问:http://192.168.149.143:9800/ (本地IP:9800)进入Leanote首页

6eb290b634e3112a49ff90dfeb0f9e3

设置简体中文

点击右上角简体中文

image-20240219114657197

管理员登录Leanote

用户名填写:admin 密码:abc123

765c9c5591ce2d795823725211dd0e3

进入到后台编辑界面

fdc37f8630d4caca914b697b0af0297

新建笔记

9626bc4c3c2bb37eca80477e00393f6

ca73116e4e6e3d15bc4663621e4d45c

编辑完文章后公开为博客

d1fd381ab09ff34befc11a2c8dbd4d1

点击右上角我的博客

6393df2a019f64c0f4e85a8f7088554

6b320011ca547400652fd64c17e173b

点击博客设置

4f54ed8c253b1e1dc706e8ab70e83d0

选择博客设置,进入博客管理页面

f93186a70af1d0ba79796962bf4cc5b

修改博客主题

c6d1dcbba11cb7809b7275535f7c95b

我们就成功在本地搭建了Leanote蚂蚁笔记,但如果想在外随时随地编辑自己的蚂蚁笔记,就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透并实现蚂蚁笔记公网访问!

3. 安装cpolar内网穿透

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

接下来配置一下Leanote蚂蚁笔记的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,

创建一个蚂蚁笔记的公网http地址隧道

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

点击创建

cc32156089ad8673b165e6d76b7d18f

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

f795e04bc79da30ee5e595b309ca3c2

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

3f2ae9de33f92922518b9253b713a00

小结

如果我们需要长期异地远程访问蚂蚁笔记,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道来听歌,我们可以选择创建一个固定的http地址来解决这个问题。

4. 固定Leanote蚂蚁笔记公网地址

我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。

配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

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

4575c71ffe477ffdcf4d54e7814d239

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

fb815a8274f6fde74750968661f8db2

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

a8a1107f681b95be65e0b3487e29542

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

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

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

06b600fd02343bd9e36aa07cbb3c168

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

0c141638c943af343154a7163c777e6

最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,可以异地远程自己的蚂蚁笔记来进行编辑和学习了!

d7d91b3b344c909d6c237ea9495e518
7853ded19cb0e300cc05f58663268b6

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

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

相关文章

Echarts 仪表盘

1、效果图 2、代码 createTenantChartOne(){var myChart1 this.$echarts.init(document.getElementById(tenant-chart-1));var dataArr 82;var title 仪表盘;let option {graphic: {type: text,left: center,top: 85%,style: {text: title,textAlign: center,//居中对齐fi…

datasophon安装doris报错

报错信息如下 fe/bin/status_fe.sh: line 50: [: -eq: unary operator expected http request failed, return value is: fe is not ready原因是status_fe.sh文件存在问题 如 ... status(){if [ -f $pid ]; thenARGET_

微服务高级篇(五):可靠消息服务

文章目录 一、消息队列MQ存在的问题?二、如何保证 消息可靠性 ?2.1 生产者消息确认【对生产者配置】2.2 消息持久化2.3 消费者消息确认【对消费者配置】2.4 消费失败重试机制2.5 消费者失败消息处理策略2.6 总结 三、处理延迟消息?死信交换机…

application.properties 里面和 application.yml 里面都配置了同样的参数 ,哪个会生效

在Spring Boot中,如果application.properties和application.yml,application-dev.yml(application.yml中指定了avtive: dev)中同时配置了相同的参数,Spring Boot默认会按照一定的加载顺序加载配置文件,并且…

【保姆级带你了解机器学习的概念,步骤,分类和实践】

🔥博主:程序员不想YY啊🔥 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家🏆 🤗点赞🎈收藏⭐再看💫养成习惯 🤝希望本文对您有所裨益,如有…

uniapp踩坑细节

()1 scroll-view隐藏滚动条安卓生效,ios不生效? 解决办法 (1)给scroll-view设置如下css样式 .country_area {width: 78.3333vw;height: 102.0667vw;overflow-y: scroll;position: absolute;left: -2vw;t…

vue2【详解】mixins —— 抽离公共逻辑

mixins 用于在 Vue 中便捷复用变量、方法、组件引用、生命周期等 使用方法 创建文件myMixin.js export const myMixin {data() {return {webName: 朝阳的博客}},created() {alert(欢迎来到${this.webName})},methods: {hi() {alert(欢迎来到${this.webName})}} }vue文件中引入…

方案功能开发:智能机器人玩具

玩具电动趣萌机器人方案开发定制,东莞市酷得智能科技有限公司是研发型芯片贸易公司,可为制造厂商朋友定制软件底层方案。下面介绍一下机器人方案可实现的功能: 基础功能: 方向:前进,后退,左转&a…

springboot项目中如何实现邮件告警功能(监控平台服务模拟)

介绍 模拟服务器故障&#xff0c;然后实现邮件告警 一、首先配置邮件的maven依赖 代码如下&#xff1a; <!--邮件告警--><!-- Spring Boot的邮件发送依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spri…

GO 语言基础学习记录(二)

//这里记录一些在学习golang语言基础的时候&#xff0c;发现的一些容易记错的特殊情况&#xff0c;后续发现其他的再补充。 一、变量和数据方面 1.切片和map引用类型 问题描述&#xff1a;在go中&#xff0c;切片和map是引用类型&#xff0c;所以当修改切片值的时候&#xf…

Android 15兼容性框架变更

在准备支持 Android 15 和以该平台为目标平台时&#xff0c;请将此列表与开发者选项和 ADB 命令结合使用&#xff0c;以测试和调试您的应用。 以下是您可以使用兼容性框架工具进行的操作&#xff1a; 在不实际更改应用的 targetSdkVersion 的情况下测试针对性的变更。您可以使…

【嵌入式——QT】多语言界面

【嵌入式——QT】多语言界面 多语言页面开发步骤tr()函数 多语言页面开发步骤 第一步 在你编写的代码中添加tr()函数&#xff0c;方便之后可以精准的定位到你所需要翻译的部分。 第二步 在.pro文件中添加以下代码&#xff0c;这样会让你生成相应的.ts文件&#xff0c;ts文件是…

深度学习Top10算法之深度神经网络DNN

深度神经网络&#xff08;Deep Neural Networks&#xff0c;DNN&#xff09;是人工神经网络&#xff08;Artificial Neural Networks&#xff0c;ANN&#xff09;的一种扩展。它们通过模仿人脑的工作原理来处理数据和创建模式&#xff0c;广泛应用于图像识别、语音识别、自然语…

安捷伦Agilent 85033E机械校准套件

181/2461/8938产品概述&#xff1a; 网络分析中的测量误差可分为两类:随机误差和系统误差。随机误差和系统误差都是矢量。随机误差是不可重复的测量变化&#xff0c;通常是不可预测的。系统误差是测试设置中可重复的测量变化。 系统误差包括阻抗不匹配、系统频率响应和测试设…

位运算详解教程

位运算的概述 数据以二进制的形式存储在设备中。即0&#xff0c;1两种状态。 &与运算&#xff1a;只有当两位都为1的情况下才为1&#xff0c;其余情况全是0. |或运算&#xff1a;两个位上都为0时&#xff0c;结果才为0 ^异或运算&#xff1a;两个位相同为0.相异为1 ~取…

11、Spring CLI中Action指南

动作指南 这个页面描述了你可以使用的动作: 生成(Generate) generate 动作用于生成文件。它需要一个 to 键来指定目标路径。路径是相对于执行用户定义命令的地方。如果文件已存在,则不会被覆盖。 文件的内容是使用 text 键定义的。 下面的示例展示了一个简单的生成动作…

javaSwing超级玛丽游戏

一、摘要 摘要 近年来&#xff0c;Java作为一种新的编程语言&#xff0c;以其简单性、可移植性和平台无关性等优点&#xff0c;得到了广泛地应用。J2SE称为Java标准版或Java标准平台。J2SE提供了标准的SDK开发平台。利用该平台可以开发Java桌面应用程序和低端的服务器应用程序…

在线测评系统

Hydrooj nodejs版 HustOJ php版 QDUOJ python版 QDUOJ https://gitcode.com/QingdaoU/OnlineJudge/tree/master HustOJ hustoj: hustoj -- 流行的OJ系统&#xff0c;跨平台、易安装、有题库 Hydrooj https://hydro.js.org/docs/

人工智能聊天机器人与大型语言模型 (LLM):哪个适合您的业务?

简介&#xff1a;欢迎来到未来 您可能听说过人工智能聊天机器人和大型语言模型 (LLM)&#xff0c;对吧&#xff1f; 这些技术奇迹正在重塑企业的沟通和运营方式。 但是&#xff0c;这是一个价值百万美元的问题&#xff1a;哪一个适合您的业务&#xff1f; 让我们深入了解一下&…

【C++航海王:追寻罗杰的编程之路】queue

目录 1 -> queue的介绍和使用 1.1 -> queue的介绍 1.2 -> queue的使用 1.3 -> queue的模拟实现 1 -> queue的介绍和使用 1.1 -> queue的介绍 queue的文档介绍 1. 队列是一种容器适配器&#xff0c;专门用于在FIFO(先进先出)上下文中操作&#xff0c;其…