最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

【Docker项目实战】使用Docker部署Memory笔记应用程序

网站源码admin4浏览0评论

【Docker项目实战】使用Docker部署Memory笔记应用程序

一、Memory 介绍

1.1 Memory 简介

Memory 是一个自托管的编辑器和笔记应用程序,旨在提供简洁、高效的用户体验。它专注于通过简化用户界面和增强键盘快捷键支持来提升工作效率。Memory 允许用户轻松创建和管理文件夹及笔记,并提供了丰富的文本格式化选项和媒体处理功能。所有数据都存储在本地的 /notes 目录下,确保用户的数据安全和隐私。

1.2 主要特点

  1. 简洁的用户界面
    • 没有不必要的按钮,保持界面干净整洁。
    • 仅使用 <enter> 键即可完成文件夹和笔记的创建,操作简便直观。
  2. 快速创建内容
    • 新文件夹:输入文件夹名称后按 <enter> 即可创建新文件夹。
    • 新笔记:输入标题、选择文件夹并输入字幕后按 <enter> 创建新笔记。
  3. 内置键盘快捷键
    • 提供一系列便捷的键盘快捷键,以加快工作流程:
      • <Ctrl-s>:保存当前编辑的内容。
      • <Ctrl-b>:加粗选中的文本。
      • <Ctrl-i>:斜体选中的文本。
      • <Ctrl-u>:为选中的文本添加下划线。
      • <Ctrl-h>:高亮选中的文本。
  4. 自动格式化粘贴的URL
    • 支持粘贴URL(如 YouTube 视频链接或图像链接)时自动进行格式化,方便用户直接嵌入多媒体内容。
  5. 本地媒体存储
    • 所有媒体文件(如图片、视频等)均存储在本地的 /notes 目录下,确保数据的安全性和隐私性。
  6. 高效的工作流
    • 通过简洁的UI设计和强大的快捷键组合,Memory 使用户能够更高效地创建、编辑和管理笔记。
    • 自动保存功能减少了手动保存的步骤,提高了工作效率。
  7. 自托管解决方案
    • 用户可以自行托管 Memory 应用程序,完全掌控数据存储和访问权限,进一步保障了数据的安全性和隐私。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。

hostname

IP地址

操作系统版本

Docker版本

部署项目

jeven01

192.168.3.88

Ubuntu 22.04.1 LTS

27.1.1

Memory

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下部署Memory笔记应用程序。

三、本地环境检查

3.1 检查Docker服务状态

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

代码语言:bash复制
root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-11-01 00:45:50 CST; 2 weeks 4 days ago
       Docs: 
   Main PID: 10450 (dockerd)
      Tasks: 60 (limit: 9387)
     Memory: 1.8G
        CPU: 33min 54.335s
     CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

代码语言:bash复制
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

代码语言:bash复制
root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、构建镜像

4.1 拉取项目

  • 执行以下项目,拉取Memory项目。
代码语言:bash复制
git clone .git
cd memory

4.2 查看项目内容

进入Memory目录后,查看内容如下所示:

代码语言:bash复制
root@jeven01:~/Memory# ll
total 1068
drwxr-xr-x  6 root root   4096 Mar 13 11:02 ./
drwx------ 12 root root   4096 Mar 13 11:02 ../
-rw-r--r--  1 root root   8292 Mar 13 11:02 app.py
-rw-r--r--  1 root root    176 Mar 13 11:02 Dockerfile
-rw-r--r--  1 root root 678492 Mar 13 11:02 editor-img.png
drwxr-xr-x  8 root root   4096 Mar 13 11:02 .git/
-rw-r--r--  1 root root 332147 Mar 13 11:02 home-img.png
-rw-r--r--  1 root root   1063 Mar 13 11:02 LICENSE-CODE
drwxr-xr-x  2 root root   4096 Mar 13 11:02 notes/
-rw-r--r--  1 root root  24576 Mar 13 11:02 notes.db
-rw-r--r--  1 root root   2728 Mar 13 11:02 README.md
-rw-r--r--  1 root root     24 Mar 13 11:02 requirements.txt
drwxr-xr-x  6 root root   4096 Mar 13 11:02 static/
drwxr-xr-x  2 root root   4096 Mar 13 11:02 templates/

4.3 构建镜像

  • 构建Memory容器镜像
代码语言:bash复制
docker build -t memory .
  • 可直接选择我已经构建好的镜像,执行以下命令下载即可。
代码语言:bash复制
root@jeven01:~/Memory# docker pull registry-hangzhou.aliyuncs/jeson/memory:latest
latest: Pulling from jeson/memory
Digest: sha256:8add132890b78a74cbf51b25c63f9f08ac45acfbb2582d8af7309d11ba2f6d1e
Status: Image is up to date for registry-hangzhou.aliyuncs/jeson/memory:latest
registry-hangzhou.aliyuncs/jeson/memory:latest

五、部署Memory应用

5.1 编辑部署文件

如果使用docker-cli部署,可参考以下命令:

代码语言:bash复制
docker run -d \
   --restart always  \
   --name memory\
   -p 5100:5000 \
   registry-hangzhou.aliyuncs/jeson/memory:latest

在`部署目录下,创建docker-compose.yaml文件,如下所示:

代码语言:bash复制
vim docker-compose.yaml
代码语言:yaml复制
version: '3.9'
services:
    jeson:
        image: 'registry-hangzhou.aliyuncs/jeson/memory:latest'
        volumes:
            - '/data/memory:/notes'
        ports:
            - '5100:5000'
        container_name: memory
        restart: always

5.3 创建Memory容器

执行以下命令,创建Memory容器。

代码语言:bash复制
root@jeven01:~/Memory# docker compose up -d
[+] Running 2/2
 ✔ Network memory_default  Created                                                                                                                0.1s
 ✔ Container memory        Started                                                                                                                0.2s

5.4 查Memory容器状态

检查Memory容器状态状态,确保Memory容器正常启动。

代码语言:bash复制
root@jeven01:~/Memory# docker compose ps
NAME                IMAGE                                                   COMMAND             SERVICE             CREATED             STATUS     PORTS
memory              registry-hangzhou.aliyuncs/jeson/memory:latest   "python app.py"     jeson               27 seconds ago      Up 26 seconds     0.0.0.0:5100->5000/tcp, :::5100->5000/tcp

5.5 检查容器日志

检查Memory容器日志,确保Memory服务正常启动。

代码语言:bash复制
root@jeven01:~/Memory# docker compose logs
memory  |  * Serving Flask app 'app'
memory  |  * Debug mode: off
memory  | WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
memory  |  * Running on all addresses (0.0.0.0)
memory  |  * Running on http://127.0.0.1:5000
memory  |  * Running on http://172.26.0.2:5000
memory  | Press CTRL+C to quit

六、访问Memory服务

6.1 访问Memory初始页

请访问 http://<个人的服务器IP>:5100 查看Memory的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

6.2 新建文档目录

新建文件夹:在填写好文件夹名称后,按回车键确认创建即可。

6.3 编辑文档

点击“New note”选项,开始创建笔记。输入文档名称和描述后,按回车键确认即可。

编辑文档内容:点击编辑按钮,进入文档编辑模式。文档或笔记完成后,点击保存即可。

七、总结

通过本次实战,我们成功使用 Docker 部署了 Memory 笔记应用程序,并体验了其简洁高效的用户界面和强大的功能集。尽管当前版本已经能够满足基本的笔记管理和内容创作需求,但仍有一些功能和用户体验上的改进空间,例如增强团队协作功能和支持更多的文件格式。期待后续版本能带来更多实用的功能和优化,进一步提升用户的使用体验。

发布评论

评论列表(0)

  1. 暂无评论