使用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.mfbz.cn/a/489903.html

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

相关文章

力扣_203_移除链表元素(c语言)

解题方法: struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode* newhead,*newtail;newheadnewtailNULL;struct ListNode*pcurhead;while(pcur){if(pcur->val!val){if(newheadNULL)newheadnewtailpcur;else{newtail->nextpcu…

【Pt】马灯贴图绘制过程 01-制作基础色

目录 一、导入模型并烘焙 二、制作基础底漆 (1)底漆层 (2)水痕层 (3)指纹层 一、导入模型并烘焙 1. 导入模型,马灯模型如下所示 2. 在纹理集设置中点击“烘焙模型贴图” 设置输出大小为…

Kali开启远程服务

一,先切换root账户 二、kali开启远程服务 1,修改远程登录的配置文件 vim /etc/ssh/sshd_config (用文本编辑器打开此文件) 在文件的普通模式下,使用/PermitRootLogin,回车,查找到该行,i&#…

海外媒体软文发稿:谷歌关键词优化细分人群成功案例,突破海外市场!

海外媒体软文发稿:谷歌关键词优化细分人群成功案例,突破海外市场! 引言 在全球化的时代,海外市场对于企业的发展至关重要。而在海外市场中,互联网媒体的作用不可忽视。本篇教程将介绍如何通过谷歌关键词优化细分人群…

视频素材app有哪些?视频素材网址推荐

在这个视觉传达愈发重要的时代,拥有一款好的无水印短视频素材网站就如同握有一把打开创意之门的钥匙,选择合适的短视频素材平台至关重要,这会让你的视频制作更加轻松而高效。 1,蛙学府 以其广泛的优质视频素材库而闻名&#xff0…

桉木芯清水模板,大显身手之作 — 能强优品木业助力工程建设

在现代建筑施工中,清水建筑模板的选择对于工程质量和效率至关重要。贵港市能强优品木业有限公司凭借25年的专业经验,成为了广西清水建筑模板领域的佼佼者。公司生产的桉木芯清水模板材质优良、镜面效果出众,尤其适合大型工程施工。 该公司的清水建筑模板采用优质桉木作为芯材,木…

记录些LangChain相关的知识

RAG的输出准确率 RAG的输出准确率 向量信息保留率 * 语义搜索准确率 * LLM准确率RAG的输出准确率由三个因素共同决定:向量信息保留率、语义搜索准确率以及LLM准确率。这三个因素是依次作用的,因此准确率实际上是它们的乘积。这意味着,任何一…

小学科学期刊投稿邮箱论文发表

《小学科学》是由国家新闻出版总署批准的教育理论类半月刊,由长春出版传媒集团有限责任公司主管主办,旨在为广大一线科学教师、教研员和其他教育工作者提供一个展示传播、交流、研讨科学教育及教研成果的平台,促进小学科学教育工作者的沟通与…

【微服务-网关】SpringCloud GateWay核心技术

在前面的文章中我们介绍了微服务网关的基础知识,了解了什么是网关,网关有什么作用,以及市面上有哪些成熟的网关产品,最后了解了网关的配置技巧。通过上篇文章,大家应该可以在微服务架构中完成网关的基本配置。 但是&am…

君正X2100 RTOS JPEG硬件编码

一、配置 进入SDK的tools/iconfigtool/IConfigToolApp目录,执行./IConfigTool指令,进入配置界面: Config.in 是生成配置界面的文件,Config是需要修改的配置文件,选择之后点击Open。 选择 xburst2系列CPU->X2000系列…

Matter - nordic OTA(3)

Nordic Semiconductor 开发平台示例下,提供了两套进行空中 (OTA) 设备固件升级 (DFU)的方式: 1.基于 Matter OTA 更新协议规范下使用 Matter 网络查询和下载新的固件映像,需要 OTBR。 2. nordic 基于低功耗蓝牙(Bluetooth LE)实现的简单管理协…

golang学习随便记15

golang测试 go test 命令 go test 命令是一个按照一定的约定和组织来测试代码的程序。我们需要了解有哪些约定和组织:在包目录内,所有后缀为 _test.go 的源文件不会被 go build 构建命令构建成包的一部分,相反,它们会被 go test…

java常用IO流功能——字符流和缓冲流概述

前言: 整理下学习笔记,打好基础,daydayup! 之前说了下了IO流的概念,并整理了字节流,有需要的可以看这篇 java常用应用程序编程接口(API)——IO流概述及字节流的使用 字符流 FileReader(文件字…

鸿蒙TypeScript入门学习第一天【简单介绍】

1.TypeScript 教程 TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准()。 TypeScript 由微软开发的自由和开源的编程语言。 TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 …

BIM插件定制,你的功能由你说了算!python开发 | 图形引擎 | 几何引擎

各位CSDN的宝宝们~ 如果你对插件开发或BIM技术兴趣十足 有着无限的想法和创意 想解决日常使用BIM软件的难题,打破桎梏 却愁于没有实现的机会 现在,机会来了! BIMBase插件命题征集活动已经开启! (没错就是征集&am…

AI时代-普通人的AI绘画工具对比(Midjouney与Stable Diffusion)

AI时代-普通人的AI绘画工具对比(Midjouney与Stable Diffusion) 前言1、基础对比Stable Diffusion(SD)SD界面安装与使用SD Midjouney(MJ) 2、硬件与运行要求对比Stable Diffusion硬件要求内存硬盘显卡 Midjo…

647. 回文子串

#动态规划法 class Solution:def countSubstrings(self, s: str) -> int:n len(s)#dp[i][j] [i,j]是否为回文串dp [[False]*n for _ in range(n)]res 0#dp[i][j]依赖于dp[i1][j-1],所以i要从下往上遍历for i in range(n-1,-1,-1):for j in range(i,n):if s[i]…

基于java+springboot+vue实现的超市管理系统(文末源码+Lw+ppt)23-354

摘 要 系统根据现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方法对超市管理的现状进行系统调查。采用结构化的分析设计,该方法要求结合一定的图表,在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”…

神经网络代码实现(用手写数字识别数据集实验)

目录 一、前言 二、神经网络架构 三、算法实现 1、导入包 2、实现类 3、训练函数 4、权重参数矩阵初始化 5、参数矩阵变换向量 6、向量变换权重参数矩阵 7、进行梯度下降 7.1、损失函数 7.1.1、前向传播 7.2、反向传播 8、预测函数 四、完整代码 五、手写数字识别 一、前言 …

创建数组的时候,数组大小是确定数值和变量的不同情况

概要: 1、创将数组的时候,如果数组大小是确定数值 (1)数组所有元素默认是0 (2)可以通过大括号对元素进行赋值 int arr[3]{1,2,3}; int arr[10]{1}; //只将第一个元素赋值为1,其他元素依然是0 2、…