第三节课:启动 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”,用来切换到指定目录。 |
所以这几行命令的意思是:
- 切换到 root 用户,确保你有足够权限操作。
- 创建一个存放 Memos 数据的文件夹。
- 进入刚创建的文件夹,为接下来的操作做准备。
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
配置文件来简化操作。
- 首先,我们来创建并编辑配置文件:
nano docker-compose.yml
- 然后,在文件里输入以下内容:
version: "3"
services:
memos:
image: neosmemo/memos:latest
container_name: memos
ports:
- "5230:5230"
volumes:
- ./data:/var/opt/memos
restart: always
- 同时按 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 看起来更加专业!
后面可以先不用看,4.1最好直接托管到cloud flare,然后nginx不会弄的话,等我更新视频,
第四节课:绑定域名 & 设置反向代理
你是不是觉得每次访问 Memos 都要输入 IP 地址和端口号,感觉有点不太方便呢?没关系!今天我们就来教你如何 绑定域名 和 配置反向代理,让你的网站看起来更加专业。
✅4.1、配置域名
假设你已经购买了一个域名,比如:xiaoming.com
,我们要将这个域名指向你 VPS 的 IP 地址。操作步骤如下:
- 登录你的 域名注册商后台,找到 DNS 配置 页面。
- 创建一个新的 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
- 登录你的 VPS,执行以下命令来安装 Docker Compose 和 Nginx Proxy Manager:
docker pull jc21/nginx-proxy-manager:latest
- 创建一个新的
docker-compose.yml
配置文件:
nano docker-compose.yml
- 在配置文件中输入以下内容:
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
- 保存并退出,接着启动容器:
docker-compose up -d
步骤 2:访问 Nginx Proxy Manager
启动成功后,你可以通过 http://你的服务器IP:81
来访问 Nginx Proxy Manager 的管理界面。
默认的登录信息是:
- 用户名:
admin@example.com
- 密码:
changeme
首次登录后,记得修改默认的密码,确保安全。
✅ 4.3、在 Nginx Proxy Manager 中添加代理记录
- 登录 Nginx Proxy Manager 后,在左侧菜单中选择 Proxy Hosts,点击右上角的 Add Proxy Host。
- 在弹出的窗口中,填写以下内容:
- Domain Names:填写你购买的域名,比如
xiaoming.com
。 - Scheme:选择
http
(因为 Memos 运行在 HTTP 协议下)。 - Forward Hostname / IP:填写你 VPS 的 IP 地址,或者容器内的 IP 地址,通常就是
127.0.0.1
。 - Forward Port:填写你映射的端口号
5230
。 - Block Common Exploits:勾选,增强安全性。
- 点击 Save,保存配置。
此时,你的域名 xiaoming.com
就成功指向了 Memos!
✅ 4.4、配置 HTTPS(推荐)
为了让你的网站更安全,我们还可以为 Memos 配置 HTTPS(SSL/TLS 加密)。Nginx Proxy Manager 支持 Let's Encrypt,它可以自动为你申请并安装免费的 SSL 证书。
- 在 Proxy Hosts 中,编辑你刚才添加的代理记录。
- 在 SSL 标签页中,勾选 Block HTTP 和 Force SSL。
- 勾选 SSL Certificate,然后点击 Request a new SSL Certificate。
- 填写你的邮箱,勾选 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 的步骤:
- 停止当前运行的 Memos 容器:
docker-compose down
解释时间!这条命令告诉 Docker 停止并删除当前的 Memos 容器。down
就是指“让它倒下”——停止并清理。
- 拉取最新的镜像:
docker-compose pull
这条命令会从 Docker Hub 上下载最新的 Memos 镜像。这样,你就获得了最新版本的 Memos。
- 重新启动容器:
docker-compose up -d
解释时间!up -d
是让 Docker 启动新的容器,-d
参数表示让容器在后台运行。这样,你就可以在后台安静地运行 Memos,而不影响你操作其他的任务。
完整命令流程
- 停止并删除容器:
docker-compose down
- 拉取最新镜像:
docker-compose pull
- 启动 Memos:
docker-compose up -d
✅ 5.2、清理 Docker 镜像
随着你不断更新容器,Docker 会下载一些镜像到本地。虽然这些镜像在新容器启动时是必需的,但随着时间的推移,这些旧的、不再使用的镜像会占用大量磁盘空间。
幸运的是,Docker 提供了一些命令来帮助你清理这些镜像,释放磁盘空间。
步骤:
- 删除所有未使用的镜像:
docker image prune
这条命令会删除本地不再使用的 Docker 镜像,帮助你释放磁盘空间。注意,这里会删除所有 未被容器使用的镜像,所以要确保这些镜像不再需要。
- 删除所有未使用的容器、网络和挂载卷(更彻底的清理):
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 是第一步。
步骤:
- 停止 Memos 容器:
docker-compose down
这条命令和我们之前说过的作用一样,down
会停止并删除正在运行的 Memos 容器。如果你有多个服务在运行,Docker 会自动停止所有相关的容器。
- 删除 Memos 镜像:
docker rmi neosmemo/memos:latest
解释时间!rmi
是 "remove image" 的缩写,意思是删除镜像。执行这条命令后,Docker 会删除 neosmemo/memos
这个镜像,确保 Memos 的 Docker 镜像从你的系统中移除。
- 清理未使用的资源:
docker system prune -a
这条命令会删除所有不再使用的容器、镜像、网络等资源,帮助你释放更多空间。记住,它删除的是 不再使用的资源,所以不会影响正在运行的容器和镜像。
✅ 6.2、清理 Memos 的数据
卸载 Memos 后,可能仍然会留下一些数据文件,例如数据库文件和配置文件等。如果你希望 彻底清理 Memos 的数据,需要执行以下步骤。
步骤:
- 删除 Memos 数据目录:
rm -rf /root/data/memos
这条命令会删除我们之前为 Memos 创建的 /root/data/memos
数据目录。rm
是 "remove" 的缩写,-rf
表示递归并强制删除目录中的所有内容。执行此命令后,Memos 存储的所有数据都会被删除。
- (可选)清理 Docker 的挂载卷:
如果你在 Docker 中使用了挂载卷来存储 Memos 数据(比如 /root/data/memos
),在删除数据目录后,还可以清理 Docker 内部的挂载卷。
docker volume prune
volume prune
会删除所有未被容器使用的挂载卷。如果你在部署时使用了挂载卷存储数据,可以使用此命令清理挂载卷,释放更多的磁盘空间。
✅ 6.3、确认清理是否成功
为了确保所有的数据和资源都被清理干净,执行以下命令,检查系统中是否还存在 Memos 的容器、镜像或数据:
- 检查容器状态:
docker ps -a
这条命令会列出所有容器,包含停止的容器。如果没有看到 memos
相关的容器,说明已经成功删除。
- 检查镜像是否存在:
docker images
这条命令会列出系统中所有的 Docker 镜像。如果 neosmemo/memos
镜像不在列表中,说明已经被成功删除。
- 检查数据目录是否为空:
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 从零搭建的完整过程就讲解完了!🎉
如果你有任何疑问,欢迎评论区留言
评论区