目 录CONTENT

文章目录

✒️搭建memos——跨平台随笔app

JIN
JIN
2025-05-10 / 0 评论 / 0 点赞 / 47 阅读 / 0 字
广告 广告

打造你自己的在线记事本:Memos 从零搭建指南(小白友好)

记录灵感不再靠微信“文件传输助手”!让我们用 Docker 搭个开源、轻量、的 Memos 卡片式笔记簿!适合记灵感、写读后感、记流水账……也可分享给你的好朋友使用

搭建视频:

哔哩哔哩:https://www.bilibili.com/video/BV11MVszcE7Q

YouTube:https://youtu.be/pR_vbNJfEhs

Memos 是什么?

这是一个开源的碎片化知识卡片管理系统,支持私有部署,可以本地存储数据,UI简洁!🐳 一条 Docker 命令搞定部署!

能干嘛?

①耍酷:让你的朋友下载memos一起用

②替代:微信传输助手

③💡 记脑洞 / 灵感火花

④📒 打造自己的卡片笔记系统

官方 Demo:https://demo.usememos.com/

GitHub:https://github.com/usememos/memos


准备工作(参考这篇🌐搭建网站——前置条件-JIN的博客

步骤 个人建议
①拥有1台服务器 购买一台服务器vps       优惠码 jinrc
②拥有一个域名 购买自己喜欢的域名      优惠码 jinrc后1美元1年
③下载Moabxterm 点击下载mobaxterm
④开始连接 通过moabxterm的SSH连接服务器

第一课:更新你的 VPS 系统(正式开始之前,先来一次保养)

你的 VPS 就像一辆刚开来的二手车——跑是能跑,但谁知道有没有什么陈年旧货或补丁没打?

所以第一步我们要给系统 检查一下更新,顺手再装几个常用的工具。只要做一次,不会很复杂。


1.1 执行命令(任选其一)

方法一:推荐组合(更新系统 + 安装常用工具)

apt update
apt install wget curl sudo vim git -y

方法二:直接升级整个系统(暴力全更)

sudo apt update && sudo apt upgrade -y

1.2 拆词解释(小白速通、老鸟可跳)


1.2.1 第一句拆解

1.2.1.1 什么是 apt

  • apt 是 Linux 系统用来安装、管理软件的命令行工具
  • 全名是 Advanced Packaging Tool(高级打包工具)

你可以把它当成:

Linux 里的“命令行 App Store”

我们用它来:

操作 意思
apt update 更新一下“商店里的目录”
apt install 安装软件
apt upgrade 把你已经装的软件统统更新一遍

1.2.1.2 那 apt update 干了啥?

apt update

就像打开 App Store 然后手动下拉刷新一样。它:

  • 不会装东西
  • 不会更新系统
  • 只是去**“拉一份最新版目录”**

所以:

apt update 的意思就是:“我看看现在仓库里都有哪些新版本软件,先做个准备。”


1.2.2 第二句拆解

方法二的 apt install wget curl sudo vim git -y 是在干嘛?

wget curl sudo vim git是5个常用工具,后续教程里会经常用到

install字面意思:安装

1.2.2.1 wget:下载小能手

  • 全称:Web Get
  • 用来从网页上“抓取文件”
  • 你可以理解成命令行里的浏览器 → 但它只管下,不预览

例子:

wget https://xxx.com/abc.sh

就等于用浏览器点了一下“下载”按钮。


1.2.2.2 curl:网络万能胶

  • 全称:Client URL
  • wget 更强大,可下载、上传、发接口请求……
  • 是很多脚本里的必备工具(你看到一堆 curl | bash,就是它)

curl 更适合开发者调接口,wget 更适合普通下载。


1.2.2.3 sudo:授权大法

  • 全称:Superuser Do
  • 让你“以管理员身份”执行操作

比如:

sudo apt install docker

意思是:“我知道这事需要管理员权限,来,让我以超级用户身份执行。”

没有 sudo,很多命令都权限不够。


1.2.2.4 vim:终端里的记事本

  • 是一个文本编辑器
  • 可以用来写配置文件、写脚本、改文档

虽然操作有点反人类,但学一点点就够了:
→ 输入 vim xxx.txt 就能编辑文件。


1.2.2.5 git:版本管理工具

  • 用来管理代码版本,也能 clone 代码仓库
  • 我们等下部署 Memos,可能就会用它下载 GitHub 上的项目文件

git 之于程序员,就像 Excel 之于会计。


1.2.2.6 -y 是啥?

  • 意思是 “yes to all”
  • 安装过程中遇到“你确定要继续吗?(Y/n)” → 自动回答:是!继续!别问了!

1.2.3 第三句拆解

sudo apt update && sudo apt upgrade -y

你可以理解成:

  1. sudo apt update:去看看仓库有什么新版本
  2. &&:并且的意思,其他各种语言基本都是这个符号。效果:如果上一步没出错,继续执行下一步
  3. apt upgrade -y:就把我系统里所有老旧的软件都更新一下

1.2.4 俩种方式对比

你的目标 推荐命令
装几个常用工具就好 apt update && apt install wget curl sudo vim git -y
顺手把系统也一起升级 sudo apt update && sudo apt upgrade -y
你是 root,不用 sudo 可以去掉 sudo,写法更简单

🎯 建议第一次玩 VPS 的同学选 方法一:能装工具,也不太容易出错。



第二节课(1/3):安装 Docker & Docker Compose

这一节我们来解决最关键的一件事:装上 Docker


2.1、执行命令(非大陆 VPS)

如果你用的是非大陆 VPS(比如 Racknerd纽约腾讯云香港 等),下面这几条命令直接复制运行就行:

# Docker 一键安装
curl -fsSL https://get.docker.com | bash

# Docker Compose 安装
sudo curl -L "https://github.com/docker/compose/releases/download/v2.36.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

# 设置 Docker 开机自启
sudo systemctl enable docker

2.2、拆词解释(小白速通、老鸟可跳)

我们还是来“逐词拆解”,看看这些命令到底做了啥!


2.2.0 Docker 是什么?

一句话解释:

Docker 就是一种“打包好了一切的万能软件盒子”。


你可以把 Docker 想象成是一个“快餐打包盒”,把软件程序、它需要的环境(比如系统依赖、库、配置等)全都打包在一起,放进一个小盒子里。这种小盒子我们叫做 容器(Container)

这个容器你拿到哪台机器上运行都行 —— 不怕“依赖装不上”,也不怕“系统版本不对”。


2.2.1.1 举个例子:

比如你想在 Ubuntu 服务器上运行一个网站,它需要:

  • Python 3.11
  • 某个版本的 Flask 框架
  • 某些 Linux 系统依赖包
  • 一个配置好的 nginx 网页服务器

用传统方式,你要手动安装、调试这些东西,很容易出错、版本不兼容,搞起来非常麻烦。

但如果别人把整个网站 + 所有环境都“打包”成了一个 Docker 容器,你只要一条命令就能跑起来:

docker run example/website

就像点了一份外卖,热好了就能吃,完全不用自己炒菜!


2.2.1.2 Docker 在 Linux(比如 Ubuntu)里到底干了什么?

在 Ubuntu 中,Docker 起到了两个主要作用:

  1. “虚拟厨房”功能:
    它让每个软件都在“自己的隔离空间”运行,互不干扰,像是一个个微型系统。
    —— 这样你可以在一台机器上同时运行 10 个服务,它们之间互不打架。
  2. “一键部署神器”:
    Docker 容器是标准化的,一份镜像在任何一台装了 Docker 的机器上都能跑。
    —— 极大地方便了部署和备份。

2.2.1.3 为什么大家都在用 Docker?

好处 解释
✅ 轻量 跑得快,不像传统虚拟机那么重。
✅ 隔离性强 一个服务崩了,不会影响别的。
✅ 快速部署 一条命令搞定整个网站或项目。
✅ 开发友好 团队都用一样的容器,不用再“你这能跑,我这报错”。

总之,Docker 就是帮你“打包”和“跑程序”的神器,适合把一个服务一键部署在服务器上,尤其是 Linux 服务器如 Ubuntu。


2.2.1 第一句拆解

curl -fsSL https://get.docker.com | bash

2.2.1.1 curl 是什么?

curl 是一个用来从互联网下载内容的命令行工具。

你可以把它当成“命令行版的浏览器”:

  • 输入网址,它就能下载页面
  • 支持 HTTPS、FTP 等协议
  • 常用于下载脚本、API 请求等

在这条命令里:

curl -fsSL https://get.docker.com | bash

它就是从 https://get.docker.com 下载一个 自动安装 Docker 的脚本,并交给 bash 执行。


2.2.1.2 -fsSL 是啥意思?

这是四个常见的 curl 参数缩写:

参数 意义
-f 出错时不输出错误页面(fail silently)
-s 安静模式,不显示进度条(silent)
-S -s配合,在出错时才显示错误信息
-L 遇到重定向(302/301)时自动跟随(location)

所以,这段命令的意思就是:

“从 get.docker.com 安静地下载脚本,如果遇到重定向也能顺利跳转,然后交给 bash 执行。”


2.2.1.3 bash 又是干嘛的?

这是 Linux 默认的命令解释器,常见的 shell。

你可以简单理解为“命令行的大脑”,它负责:

  • 接收你的命令
  • 按顺序执行脚本里的命令
  • 报错 / 提示 / 输出结果

所以整个命令翻译成中文就是:

“请从 Docker 官网下载官方安装脚本,然后交给系统自动执行,给我装好 Docker。”


2.2.2 第二句拆解:

sudo curl -L "https://github.com/docker/compose/releases/download/
v2.36.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

这一大串其实就是:

  • 下载 对应你系统版本 的 docker-compose 二进制文件
  • 放到 /usr/local/bin/ 路径下(这是默认可以执行的路径)

$(uname -s) 是获取你当前系统的类型(比如 Linux)
$(uname -m) 是获取你当前的 CPU 架构(比如 x86_64)

它们组合起来后,自动匹配适合你服务器的版本,不用手动挑!


2.2.2.1 sudo 是啥意思?

sudo 是 “Super User DO” 的缩写。

📢 就是“以管理员身份执行命令”的意思。
有点像 Windows 的“以管理员身份运行”。

为什么要用 sudo

因为 /usr/local/bin/ 是系统级路径,普通用户没权限往里写文件,所以得提权。


2.2.2.2 chmod +x 又是干嘛的?

chmod 是 “change mode”,改权限的意思。
+x 是加上可执行权限。

也就是说:我们把下载下来的 docker-compose 文件设为“可以运行的程序”。

没有这一句的话,文件是死的,不能运行!


我建议你先把这些命令复制粘贴跑一遍,然后回来再细品上面的解释 😎


接下来我们将继续讲解国内 VPS 的安装方法,以及 Docker 日志和 IPv6 的可选优化。

🚀 见:第二节课(2/3),我这就发!


好嘞,我们继续——来到了:


第二节课(2/3):Docker 大陆安装 & 日志优化

如果你用的是国内 VPS(比如阿里云、腾讯云广州、华为云、轻量服务器大陆节点等),直接用国外的安装脚本可能会很慢,甚至挂掉。

所以我们推荐使用国内镜像源安装!


2.1、执行命令(大陆 VPS )

# Docker 安装(使用 DaoCloud 镜像源)
curl -sSL https://get.daocloud.io/docker | sh

# Docker Compose 安装(来自 DaoCloud)
curl -L https://get.daocloud.io/docker/compose/releases/download/
v2.23.3/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

# 添加可执行权限
chmod +x /usr/local/bin/docker-compose

# 设置 Docker 开机启动
systemctl enable docker

2.2 拆词解释(小白速通、老鸟可跳)

来,我们还是像之前一样“拆词讲解”,看看到底都做了什么:


2.2.1 第一句拆解

curl -sSL https://get.daocloud.io/docker | sh

这条和之前的非大陆版类似,只是换成了 DaoCloud 提供的大陆镜像,下载速度更快,成功率更高。

关键词 含义
curl 命令行下载工具
-sSL 静默下载 + 跟踪重定向
sh 是 shell 的另一种写法,和 bash 类似,也能执行脚本

你可以理解为:

请从 DaoCloud 拉取 Docker 安装脚本,然后在本机运行。”


2.2.2 第二句拆解

Docker Compose 安装(大陆源)

curl -L https://get.daocloud.io/docker/compose/releases/download/
v2.23.3/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

和非大陆那一条一模一样,就是把 GitHub 地址换成了内陆的 DaoCloud 镜像,速度大幅提升。

注意:v2.23.3 是截至写稿时比较新的版本(你也可以自己上 GitHub 查看最新版本)。

执行完这条命令后,记得给它加运行权限:

chmod +x /usr/local/bin/docker-compose

如果你是新手,并不确定自己是不是“大陆 VPS”,可以直接复制这组命令来执行
只有在这组命令无法访问时,才考虑用国外那组。


第二节课(2.5/3):补充:配置 Docker 日志 & IPv6(进阶优化,可跳过)

为什么要改日志配置?

Docker 默认会不停记录日志,久而久之可能导致磁盘被日志填爆……
所以我们加一段配置,让日志保持在一个“安全的限度”内。


2.1 执行命令:

cat > /etc/docker/daemon.json <<EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF

再执行:

sudo systemctl restart docker

2.2 拆句解释

配置项 作用
"log-driver": "json-file" 日志驱动,记录为 JSON 格式
"max-size": "20m" 每个日志文件最多 20MB
"max-file": "3" 最多保留 3 个轮转日志文件
"ipv6": true 启用 IPv6
"fixed-cidr-v6" 指定一个 IPv6 地址段
"experimental": true 开启 Docker 实验特性(比如后续某些 beta 功能)
"ip6tables": true 支持 IPv6 的防火墙规则

这样配置完之后:

  • 你的日志就不会无脑暴涨
  • 你的容器也支持 IPv6(以后玩点新花样也方便)


第二节课(3/3):验证 Docker 安装成功 & 基础命令扫盲

Docker 装好了,那怎么确定它真的“装成功了”?

别急,我们一步步来。


2.1、执行命令(1)

检查 Docker 安装是否成功

docker version

2.2、拆词解释(1)(小白速通、老鸟可跳)

我们先来看看这个命令在说啥:

单词 释义
docker 是我们刚安装的软件名,全称是Docker Engine,容器引擎
version 英文就是“版本”的意思(是不是很熟)

所以:docker version这句的意思是:

💬 “嘿 docker,告诉我你自己是什么版本的。”

如果你看到类似下面这样的输出:

Client: Docker Engine - Community
 Version:           24.0.7
...
Server: Docker Engine - Community
 Version:           24.0.7
...

🎉 恭喜你,Docker 装好了!


2.3、执行命令(2)

检查 Docker Compose 是否安装成功

docker-compose version

或者(如果你使用的是新版 v2):

docker compose version

注意看,docker-compose(带中划线)和 docker compose(空格)都有人用,新版推荐用空格版,以后也会逐步统一

2.4、拆词解释(2)(小白速通、老鸟可跳)

单词 释义
compose 动词“组成、编排”的意思
docker compose 就是“把多个 Docker 容器编排起来运行”的工具

也就是说,Docker 是单个容器的管理工具,Docker Compose 是“多个容器的指挥家”。

你可以把它理解为:

Docker 是乐手,Compose 是指挥。

输出长这样:

Docker Compose version v2.23.3

🆗,大功告成!


总结

步骤 内容
1️⃣ docker version查看 Docker 是否装好
2️⃣ docker compose version检查 Compose 是否 OK
3️⃣ docker run hello-world测试能不能拉镜像跑容器
4️⃣ 至此,准备工作完毕 ✅,接下来可以部署我们的小记事本 Memos 啦!

下一节课:正式启动我们的在线笔记 Memos!

我们将会:

📂 拉镜像
🛠 配置文件夹
🚀 一条命令启动 Memos!


第三节课:启动 Memos —— 打造自己的在线笔记本

我们已经完成了 Docker 的安装和基本验证,现在到了实际部署 Memos 的时候了!按照下面的步骤来搭建你的私人笔记系统吧!


3.1、执行命令(1)

首先,我们需要为 Memos 创建一个专门的文件夹来存储数据。

sudo -i  # 切换到 root 用户(重要!)
mkdir -p /root/data/memos  # 创建存储 Memos 数据的目录
cd /root/data/memos        # 进入这个目录

3.2、拆词解释(1)(小白速通、老鸟可跳)

单词 释义
mkdir 是 “make directory” 的缩写,用来创建新目录。
-p 如果目录的上级目录不存在,就会自动创建。
cd “change directory”,用来切换到指定目录。

所以这几行命令的意思是:

  1. 切换到 root 用户,确保你有足够权限操作。
  2. 创建一个存放 Memos 数据的文件夹。
  3. 进入刚创建的文件夹,为接下来的操作做准备。

3.3、执行命令(2)

或者选择执行命令(3)

命令(2)和(3):一键 Docker 命令 vs Docker Compose 配置

我们有两种安装方式,"一键 Docke"和 "Docker Compose 配置",你可以任选其一。
我们先从 一键安装命令 开始。

一键 Docker 命令:

docker run -d --name memos -p 5230:5230 -v /root/data/memos:/var/opt/memos neosmemo/memos:latest

3.4、拆词解释(2)(小白速通、老鸟可跳)

单词 释义
docker 运行 Docker 的命令行工具
run 运行容器
-d 表示“以后台模式运行容器”,也就是不阻塞当前终端
--name memos 给这个容器起一个名字,方便管理
-p 5230:5230 映射宿主机的 5230 端口到容器的 5230 端口
-v /root/data/memos:/var/opt/memos 将宿主机的 /root/data/memos目录挂载到容器的 /var/opt/memos,这样 Memos 数据就会保存在宿主机上
neosmemo/memos:latest 这是 Docker Hub 上的镜像名,:latest是表示使用最新版本

总结来说,这条命令会启动一个 Memos 容器,容器会监听 5230 端口,数据存储在 /root/data/memos 文件夹中。


3.4、执行命令(3)

命令(2)执行过就不用了,(2)和(3)任选一个就行

Docker Compose 配置:

如果你更喜欢使用 Docker Compose,我们可以创建一个 docker-compose.yml 配置文件来简化操作。

  1. 首先,我们来创建并编辑配置文件:
nano docker-compose.yml
  1. 然后,在文件里输入以下内容:
version: "3"
services:
  memos:
    image: neosmemo/memos:latest
    container_name: memos
    ports:
      - "5230:5230"
    volumes:
      - ./data:/var/opt/memos
    restart: always
  1. 同时按 Ctrl+X :保存并退出编辑
    有提示点击Y,继续点回车就行

3.5、拆词解释(3)(小白速通、老鸟可跳)

单词 释义
version 这是配置文件的版本号,"3" 表示使用最新的版本
services 定义你要运行的服务
memos 这是服务的名字,你可以任意命名
image 指定要使用的镜像
container_name 设置容器的名字
ports 映射端口,左边是宿主机端口,右边是容器内的端口
volumes 指定数据挂载目录,将宿主机的目录挂载到容器的目录
restart: always 设置容器为自动重启,避免容器意外停止

3.6、执行命令(4)

启动 Memos 容器

现在,无论你是选择 一键 Docker 命令(2) 还是 Docker Compose 配置(3),我们都可以启动容器了。

如果你选择了 一键Docker 命令(2),直接运行:

docker run -d --name memos -p 5230:5230 -v /root/data/memos:/var/opt/memos neosmemo/memos:latest

如果你选择了 Docker Compose 配置文件(3),运行:

docker-compose up -d

3.7、拆词解释(4)(小白速通、老鸟可跳)

单词 释义
docker-compose up 用来启动 Docker Compose 配置的服务
-d 以后台模式运行,不阻塞终端

3.8、执行步骤(5)

成功启动后,你可以通过访问 http://你的服务器IP:5230 来确认 Memos 是否正常启动。

比如,如果你的服务器 IP 是 123.456.789.0,那么你就可以通过浏览器访问:

http://123.456.789.0:5230

3.9、拆词解释(5)(小白速通、老鸟可跳)

单词 释义
http:// 网址的协议,指明了浏览器使用的通讯协议
你的服务器IP 就是你 VPS 的 IP 地址
:5230 这是我们映射的端口号,按照步骤来的话是 5230

3.10、本节总结

步骤 内容
1️⃣ 创建存储目录并进入
2️⃣ 选择 Docker 安装方式(一键命令或 Docker Compose)
3️⃣ 启动 Memos 容器
4️⃣ 访问服务器 IP + 端口,验证启动成功

到这里,我们已经成功启动了 Memos!你现在可以访问 http://你的服务器IP:5230,享受属于自己的在线笔记本啦!

下一节课我们会教你如何设置 域名绑定反向代理,让你的 Memos 看起来更加专业!


第四节课:绑定域名 & 设置反向代理

你是不是觉得每次访问 Memos 都要输入 IP 地址和端口号,感觉有点不太方便呢?没关系!今天我们就来教你如何 绑定域名配置反向代理,让你的网站看起来更加专业。


✅4.1、配置域名

假设你已经购买了一个域名,比如:xiaoming.com,我们要将这个域名指向你 VPS 的 IP 地址。操作步骤如下:

  1. 登录你的 域名注册商后台,找到 DNS 配置 页面。
  2. 创建一个新的 A 记录,将它指向你的 VPS IP 地址。

例如:

类型 主机名 TTL
A @ 123.456.789.0 默认 TTL

这里,123.456.789.0 是你 VPS 的 IP 地址,@ 代表根域名(也就是 xiaoming.com)。

🧐解释时间!

单词 释义
A 记录 是 DNS(域名解析系统)中一种记录类型,它将域名解析为一个 IP 地址
TTL "Time To Live",表示 DNS 记录的缓存时间,默认即可
@ 在域名解析中,@表示根域名,即没有子域名部分

这样配置完成后,等 DNS 记录生效,你就可以通过 xiaoming.com 来访问你搭建的 Memos 了!


✅ 4.2、配置反向代理 —— Nginx Proxy Manager(推荐)

如果你不想每次都输入 http://ip:5230,你可以通过 反向代理 将域名直接指向 Memos。这里,我们推荐使用 Nginx Proxy Manager(图形化界面),它使用起来更加简单。

步骤 1:安装 Nginx Proxy Manager

  1. 登录你的 VPS,执行以下命令来安装 Docker ComposeNginx Proxy Manager
docker pull jc21/nginx-proxy-manager:latest
  1. 创建一个新的 docker-compose.yml 配置文件:
nano docker-compose.yml
  1. 在配置文件中输入以下内容:
version: "3"
services:
  app:
    image: jc21/nginx-proxy-manager:latest
    container_name: nginx-proxy-manager
    environment:
      - DB_SQLITE_FILE=/data/database.sqlite
    volumes:
      - ./data:/data
    ports:
      - "80:80"
      - "443:443"
    restart: always
  1. 保存并退出,接着启动容器:
docker-compose up -d

步骤 2:访问 Nginx Proxy Manager

启动成功后,你可以通过 http://你的服务器IP:81 来访问 Nginx Proxy Manager 的管理界面。

默认的登录信息是:

  • 用户名admin@example.com
  • 密码changeme

首次登录后,记得修改默认的密码,确保安全。


✅ 4.3、在 Nginx Proxy Manager 中添加代理记录

  1. 登录 Nginx Proxy Manager 后,在左侧菜单中选择 Proxy Hosts,点击右上角的 Add Proxy Host
  2. 在弹出的窗口中,填写以下内容:
  • Domain Names:填写你购买的域名,比如 xiaoming.com
  • Scheme:选择 http(因为 Memos 运行在 HTTP 协议下)。
  • Forward Hostname / IP:填写你 VPS 的 IP 地址,或者容器内的 IP 地址,通常就是 127.0.0.1
  • Forward Port:填写你映射的端口号 5230
  • Block Common Exploits:勾选,增强安全性。
  1. 点击 Save,保存配置。

此时,你的域名 xiaoming.com 就成功指向了 Memos!


✅ 4.4、配置 HTTPS(推荐)

为了让你的网站更安全,我们还可以为 Memos 配置 HTTPS(SSL/TLS 加密)。Nginx Proxy Manager 支持 Let's Encrypt,它可以自动为你申请并安装免费的 SSL 证书。

  1. Proxy Hosts 中,编辑你刚才添加的代理记录。
  2. SSL 标签页中,勾选 Block HTTPForce SSL
  3. 勾选 SSL Certificate,然后点击 Request a new SSL Certificate
  4. 填写你的邮箱,勾选 Agree to the terms of service,点击 Save

这样,Nginx Proxy Manager 会自动为你申请并安装 SSL 证书
并且你的网站访问就变成了 https://xiaoming.com,让你的网站更加安全。


本节总结

步骤 内容
1️⃣ 配置域名,将域名指向你的 VPS IP 地址
2️⃣ 使用 Nginx Proxy Manager 进行反向代理配置
3️⃣ 配置 HTTPS,确保你的网站安全

到这里,我们已经完成了域名绑定和反向代理的配置!你现在可以通过 https://xiaoming.com 来访问你自己的 Memos 笔记本啦!

下一节课我们将讲解如何进行 Memos 的更新清理旧镜像,敬请期待!


好的,接下来我们进入 第五节课,这节课我们将讲解 如何更新 Memos 以及 清理旧的 Docker 镜像。这也是日常维护的一部分,确保你的系统运行顺畅并且占用的空间不会越来越大。


第五节课:更新 Memos & 清理 Docker 镜像


✅ 5.1、更新 Memos

随着时间的推移,Memos 会发布新的版本,修复漏洞、增加功能或提升性能。所以,定期更新 Memos 是非常重要的。

更新 Memos 的步骤:

  1. 停止当前运行的 Memos 容器
docker-compose down

解释时间!这条命令告诉 Docker 停止并删除当前的 Memos 容器。down 就是指“让它倒下”——停止并清理。

  1. 拉取最新的镜像
docker-compose pull

这条命令会从 Docker Hub 上下载最新的 Memos 镜像。这样,你就获得了最新版本的 Memos。

  1. 重新启动容器
docker-compose up -d

解释时间!up -d 是让 Docker 启动新的容器,-d 参数表示让容器在后台运行。这样,你就可以在后台安静地运行 Memos,而不影响你操作其他的任务。

完整命令流程

  1. 停止并删除容器:
docker-compose down
  1. 拉取最新镜像:
docker-compose pull
  1. 启动 Memos:
docker-compose up -d

✅ 5.2、清理 Docker 镜像

随着你不断更新容器,Docker 会下载一些镜像到本地。虽然这些镜像在新容器启动时是必需的,但随着时间的推移,这些旧的、不再使用的镜像会占用大量磁盘空间。

幸运的是,Docker 提供了一些命令来帮助你清理这些镜像,释放磁盘空间。

步骤:

  1. 删除所有未使用的镜像
docker image prune

这条命令会删除本地不再使用的 Docker 镜像,帮助你释放磁盘空间。注意,这里会删除所有 未被容器使用的镜像,所以要确保这些镜像不再需要。

  1. 删除所有未使用的容器、网络和挂载卷(更彻底的清理):
docker system prune -a

解释时间!system prune -a 会删除 所有未使用的容器未使用的镜像网络挂载卷 等。如果你希望彻底清理,不再用的容器和镜像都能被删除,释放更多空间。

注意:这条命令会删除所有不再使用的镜像和容器,确保没有正在运行的重要服务或容器被误删除。


✅ 5.3、定期清理建议

定期清理 Docker 镜像是个好习惯,特别是在你不断更新和添加新项目时。为了确保你的系统始终保持高效运行,建议:

  • 每次更新 Memos 后,都执行一次 docker image prune
  • 每隔一段时间,执行一次 docker system prune -a,彻底清理不再使用的资源。

🧳 本节总结

步骤 内容
1️⃣ 停止并删除当前容器:docker-compose down
2️⃣ 拉取最新的 Memos 镜像:docker-compose pull
3️⃣ 启动新的容器:docker-compose up -d
4️⃣ 清理未使用的 Docker 镜像:docker image prune
5️⃣ 更彻底清理:docker system prune -a

至此,我们已经完成了 Memos 的 更新清理 Docker 镜像 的所有步骤!你现在可以放心使用最新版本的 Memos,同时保持系统清洁,节省磁盘空间。

在下节课中,我们将介绍 如何卸载 Memos,以及如何 清理 Memos 的数据,如果你有任何问题,随时告诉我!


好的,我们接着进入 第六节课,这一节我们将学习 如何卸载 Memos清理 Memos 的数据。这是当你想要彻底移除 Memos 或者进行系统重置时的必备步骤。


第六节课:卸载 Memos & 清理数据

在这一节课里,我们将分为两部分,首先是如何卸载 Memos,再就是如何彻底清理 Memos 的数据。这样如果你遇到任何问题,或者想重新安装,都能清除干净地进行操作。


✅ 6.1、卸载 Memos

如果你决定不再使用 Memos,或者想重新安装并清理旧数据,卸载 Memos 是第一步。

步骤:

  1. 停止 Memos 容器
docker-compose down

这条命令和我们之前说过的作用一样,down 会停止并删除正在运行的 Memos 容器。如果你有多个服务在运行,Docker 会自动停止所有相关的容器。

  1. 删除 Memos 镜像
docker rmi neosmemo/memos:latest

解释时间!rmi 是 "remove image" 的缩写,意思是删除镜像。执行这条命令后,Docker 会删除 neosmemo/memos 这个镜像,确保 Memos 的 Docker 镜像从你的系统中移除。

  1. 清理未使用的资源
docker system prune -a

这条命令会删除所有不再使用的容器、镜像、网络等资源,帮助你释放更多空间。记住,它删除的是 不再使用的资源,所以不会影响正在运行的容器和镜像。


✅ 6.2、清理 Memos 的数据

卸载 Memos 后,可能仍然会留下一些数据文件,例如数据库文件和配置文件等。如果你希望 彻底清理 Memos 的数据,需要执行以下步骤。

步骤:

  1. 删除 Memos 数据目录
rm -rf /root/data/memos

这条命令会删除我们之前为 Memos 创建的 /root/data/memos 数据目录。rm 是 "remove" 的缩写,-rf 表示递归并强制删除目录中的所有内容。执行此命令后,Memos 存储的所有数据都会被删除。

  1. (可选)清理 Docker 的挂载卷

如果你在 Docker 中使用了挂载卷来存储 Memos 数据(比如 /root/data/memos),在删除数据目录后,还可以清理 Docker 内部的挂载卷。

docker volume prune

volume prune 会删除所有未被容器使用的挂载卷。如果你在部署时使用了挂载卷存储数据,可以使用此命令清理挂载卷,释放更多的磁盘空间。


✅ 6.3、确认清理是否成功

为了确保所有的数据和资源都被清理干净,执行以下命令,检查系统中是否还存在 Memos 的容器、镜像或数据:

  1. 检查容器状态
docker ps -a

这条命令会列出所有容器,包含停止的容器。如果没有看到 memos 相关的容器,说明已经成功删除。

  1. 检查镜像是否存在
docker images

这条命令会列出系统中所有的 Docker 镜像。如果 neosmemo/memos 镜像不在列表中,说明已经被成功删除。

  1. 检查数据目录是否为空
ls /root/data/memos

如果你之前已经删除了 /root/data/memos 目录,它应该显示为空或者提示目录不存在。这样,Memos 的所有数据都已经成功清理。


本节总结

步骤 内容
1️⃣ 停止并删除容器:docker-compose down
2️⃣ 删除 Memos 镜像:docker rmi neosmemo/memos:latest
3️⃣ 清理未使用的 Docker 资源:docker system prune -a
4️⃣ 删除 Memos 数据目录:rm -rf /root/data/memos
5️⃣ 清理 Docker 挂载卷:docker volume prune

这样,你就可以轻松卸载 Memos,并彻底清理它的相关数据。如果你决定重新安装或重新部署,系统将是干净的,完全没有任何残留。你可以按照之前的安装步骤重新开始。

到这里,Memos 从零搭建的完整过程就讲解完了!🎉

如果你有任何疑问,欢迎评论区留言

0
广告 广告

评论区