1.1 PdfDing简介1.2 PdfDing主要特点
1.3 主要使用场景
2.1 本地环境规划
2.2 本次实践介绍
3.1 检查Docker服务状态
3.2 检查Docker版本
3.3 检查docker compose 版本
5.1 创建部署目录
5.2 编辑部署文件
5.3 创建PdfDing容器
5.4 查看PdfDing容器状态
5.5 查看PdfDing容器日志
6.1 访问PdfDing初始页
6.2 注册账号
7.1 设置主题
7.2 上传文档
7.3 在线浏览文档效果
一、PdfDing介绍
1.1 PdfDing简介
PdfDing是一种轻量级的应用程序,可以通过 Docker 轻松地在服务器上设置。它提供了一个基于Web的界面,允许用户通过浏览器上传、管理和阅读PDF文档。这款工具注重用户体验,提供了诸如暗黑模式和记忆阅读位置等实用功能,确保了用户能够享受流畅的文档阅读体验。1.2 PdfDing主要特点
多设备支持:可以在多种设备(如桌面电脑、平板电脑和手机)上无缝浏览PDF文件。标签整理:用户可以使用标签来组织他们的PDF文档,这有助于更有效地管理和检索文档。
简洁界面:拥有一个干净且响应式的用户界面设计,使得导航变得直观简单。
暗黑模式:提供暗黑主题选项,减少眼睛疲劳,特别是在低光照条件下阅读时。
记住位置:自动记录用户的阅读进度,让用户可以从上次停止的地方继续阅读。
单点登录(SSO):通过开放ID连接(OIDC)协议支持单点登录,简化了身份验证流程。
自我服务:每个用户都可以自行上传自己的PDF文件,而不需要管理员介入管理内容。
1.3 主要使用场景
教育机构:教师和学生可以方便地分享教材、作业等学习材料。企业办公:公司员工可用来共享报告、合同等正式文档,并保持良好的文档管理习惯。
研究团体:研究人员之间交换论文和其他研究资料变得更加容易。
个人用途:对于需要经常处理电子书或其他形式的PDF文档的人来说非常有用,比如学生准备考试或是专业人士进行持续教育。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎; 2.在Docker环境下部署PDD查看器PdfDing。三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。root@ubuntu-001:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2024-09-29 08:29:36 UTC; 18min ago
TriggeredBy: ● docker.socket
Main PID: 5227 (dockerd)
Tasks: 123
Memory: 272.5M
CPU: 9.692s
CGroup: /system.slice/docker.service
├─5227 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
3.2 检查Docker版本
检查Docker版本root@ubuntu-001:~# docker -v
Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。root@ubuntu-001:~# docker compose version
Docker Compose version v2.19.1
四、下载PdfDing镜像
拉取PdfDing镜像,镜像名称为:mrmn/pdfding:0.3.4。root@ubuntu-001:/data/pdfding# docker pull mrmn/pdfding:0.3.4
0.3.4: Pulling from mrmn/pdfding
c6a83fedfae6: Already exists
6f14051a7863: Pull complete
e1e82c77ac9c: Pull complete
334024c37334: Pull complete
2240f6c2d99c: Pull complete
3a640e0e83b1: Pull complete
a2240f381d2e: Pull complete
2e996bc1859a: Pull complete
4f4fb700ef54: Pull complete
a1f4d8ed2f26: Pull complete
655f5f94961c: Pull complete
Digest: sha256:ba0b9f6b650af6240aa7bc12a3b10d2a0fc36dfaf69d4de2e1485d18414dc168
Status: Downloaded newer image for mrmn/pdfding:0.3.4
docker.io/mrmn/pdfding:0.3.4
五、部署PdfDing
5.1 创建部署目录
创建部署目录mkdir -p /data/pdfding && cd /data/pdfding
5.2 编辑部署文件
在/data/pdfding目录,创建docker-compose.yaml文件,内容如下,其中宿主机映射端口、登录账号密码等可以自定义配置。version: '3'
services:
pdfding:
image: mrmn/pdfding:0.3.4
container_name: pdfding
restart: always
ports:
- 8020:8000
volumes:
- ./data:/home/nonroot/pdfding/db
- ./media:/home/nonroot/pdfding/media
environment:
- HOST_NAME=192.168.3.251
- SECRET_KEY=some_secret
- CSRF_COOKIE_SECURE=FALSE
- SESSION_COOKIE_SECURE=FALSE
5.3 创建PdfDing容器
执行以下命令,创建PdfDing容器。root@ubuntu-001:/data/pdfding# docker compose up -d
[+] Running 2/2
✔ Network pdfding_default Created 0.1s
✔ Container pdfding Started 0.4s
5.4 查看PdfDing容器状态
检查PdfDing容器状态状态,确保PdfDing容器正常启动。root@ubuntu-001:/data/pdfding# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
pdfding mrmn/pdfding:0.3.4 "./bootstrap.sh" pdfding 23 seconds ago Up 22 seconds 0.0.0.0:8020->8000/tcp, :::8020->8000/tcp
5.5 查看PdfDing容器日志
检查PdfDing容器日志,确保PdfDing服务正常运行。root@ubuntu-001:/data/pdfding# docker compose logs
pdfding | Operations to perform:
pdfding | Apply all migrations: account, auth, contenttypes, pdf, sessions, socialaccount, users
pdfding | Running migrations:
pdfding | No migrations to apply.
pdfding | [2024-09-29 09:07:34 +0000] [12] [INFO] Starting gunicorn 23.0.0
pdfding | [2024-09-29 09:07:34 +0000] [12] [INFO] Listening at: http://0.0.0.0:8000 (12)
pdfding | [2024-09-29 09:07:34 +0000] [12] [INFO] Using worker: sync
pdfding | [2024-09-29 09:07:34 +0000] [13] [INFO] Booting worker with pid: 13
pdfding | [2024-09-29 09:07:34 +0000] [14] [INFO] Booting worker with pid: 14
pdfding | [2024-09-29 09:07:34 +0000] [15] [INFO] Booting worker with pid: 15
六、访问PdfDing服务
6.1 访问PdfDing初始页
访问地址:http://192.168.3.251:8020,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。6.2 注册账号
点击:sign up,进入账号注册页。自定义注册账号信息,确认注册即可。
七、PdfDing工具的基本使用
7.1 设置主题
Settings——Theme,可编辑修改主题样式。7.2 上传文档
点击“Add PDF”选项,上传本地PDF文章。7.3 在线浏览文档效果
点击上传的PDF文档,可以在线浏览文档。八、总结
通过Docker部署PdfDing PDF查看器的过程非常顺利,仅需几条简单的命令就完成了环境搭建。 PdfDing在容器中的运行表现稳定,提供了流畅的PDF管理和阅读体验。整个部署过程不仅快速而且易于维护,充分展示了Docker在简化应用部署方面的优势。这次实战进一步验证了Docker对于快速搭建和运行应用程序的有效性和便捷性。作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
网友评论