【Docker项目实战】使用Docker部署Poznote笔记管理工具

举报
江湖有缘 发表于 2025/12/09 23:59:52 2025/12/09
【摘要】 【Docker项目实战】使用Docker部署Poznote笔记管理工具

一、Poznote介绍

1.1 Poznote项目简介

Poznote 是一款轻量级但功能强大的自托管网络笔记应用,帮助用户高效捕获、组织和访问笔记,同时确保用户完全掌控自己的数据。

1.2 Poznote主要特点

  • 富文本编辑器:提供简洁高效的富文本编辑体验,快速创建格式丰富的笔记。
  • 全文搜索:支持即时全文搜索,轻松定位所需笔记内容。
  • 标签系统:通过自定义标签对笔记进行灵活分类与管理。
  • 文件附件:可在笔记中附加文件,增强上下文信息与参考资料完整性。
  • 响应式设计:适配各类设备,在桌面或移动浏览器上均可流畅使用。
  • 自托管架构:所有数据存储于用户自有服务器,保障隐私与安全。
  • 多实例支持:可运行多个相互隔离的实例,适用于不同项目或用户。
  • 工作区(Workspaces):将笔记按项目或场景分组到独立工作区,提升组织效率。
  • 内置备份功能:提供一键导出与备份工具,确保数据安全无忧。
  • 回收站机制:删除的笔记进入回收站,支持误删恢复。
  • REST API:开放完整的编程接口,便于集成与自动化操作。
  • 公开分享:生成只读链接,便捷地对外共享笔记内容。
  • 任务列表:在笔记内创建和管理待办事项,助力任务追踪与进度管理。
  • Markdown 支持:原生支持 Markdown 语法,实现高效结构化写作。
  • 深色模式:提供深色主题,优化低光环境下的阅读与书写体验。
  • Excalidraw 集成:内置 Excalidraw 绘图工具,轻松创建图表、草图与可视化笔记。

二、本次实践规划

2.1 本地环境规划

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

hostname IP地址 操作系统版本 Docker版本 部署项目 备注
jeven 192.168.3.88 Ubuntu 24.04.2 LTS 28.5.0 Poznote ——

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Poznote文件管理工具。

三、本地环境检查

3.1 检查Docker服务状态

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

root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-11-02 07:06:57 UTC; 3 days ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 889 (dockerd)
      Tasks: 82
     Memory: 1.1G (peak: 2.8G)
        CPU: 6min 1.860s
     CGroup: /system.slice/docker.service

在这里插入图片描述

3.2 检查Docker版本

检查Docker版本

root@jeven:~# docker -v
Docker version 28.5.0, build 887030f

3.3 检查docker compose 版本

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

root@jeven:~# docker compose version
Docker Compose version v2.39.4

四、拉取Poznote镜像

下载Poznote镜像,镜像名称为:ghcr.io/timothepoznanski/poznote:1.9.4

docker pull ghcr.io/timothepoznanski/poznote:1.9.4

在这里插入图片描述

五、部署Poznote服务

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/poznote && cd /data/poznote

5.2 docker compose方式部署

新建及编辑docker-compose.yaml文件,宿主机映射端口可自行设置,注意防止端口冲突。

vim docker-compose.yaml
version: '3.8'

services:
  webserver:
    image: ghcr.io/timothepoznanski/poznote:1.9.4
    container_name: poznote
    restart: always
    environment:
      SQLITE_DATABASE: /var/www/html/data/database/poznote.db
      POZNOTE_USERNAME: admin
      POZNOTE_PASSWORD: Admin@123
      HTTP_WEB_PORT: 8200
    ports:
      - "8200:80"
    volumes:
      - poznote_data:/var/www/html

volumes:
  poznote_data:

5.3 创建Poznote容器

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

docker compose up -d

在这里插入图片描述

5.4 查看Poznote容器状态

检查Poznote容器运行状态,确保Poznote容器正常启动。

root@jeven:/data/poznote# docker compose ps
WARN[0000] /data/poznote/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME      IMAGE                                    COMMAND                   SERVICE     CREATED          STATUS          PORTS
poznote   ghcr.io/timothepoznanski/poznote:1.9.4   "docker-php-entrypoi…"   webserver   42 seconds ago   Up 41 seconds   9000/tcp, 0.0.0.0:8200->80/tcp, [::]:8200->80/tcpp

5.5 检查Poznote容器日志

检查容器运行日志,确保Poznote服务正常运行。

docker compose logs

在这里插入图片描述

六、访问Poznote服务

6.1 访问Poznote首页

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

在这里插入图片描述

在部署文件中我们设置的账号密码为admin/Admin@123 ,输入账号密码登录即可。

在这里插入图片描述

6.2 编辑笔记

我们点击新增笔记选项,编辑markdown笔记内容,效果如下所示:

在这里插入图片描述

七、总结

本次实践成功通过 Docker 部署了 Poznote 笔记管理工具,验证了容器化应用在快速搭建服务方面的优势。整个过程操作简洁,依赖少,仅需一个 compose 文件即可完成部署与数据持久化。Poznote 界面清爽、功能实用,适合轻量级笔记记录与管理。通过本次练习,不仅加深了对 Docker 卷管理和环境变量配置的理解,也为后续部署类似 Web 应用积累了经验。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。