【Docker项目实战篇】Docker部署PDF查看器PdfDing

【Docker项目实战篇】Docker部署PDD查看器PdfDing

  • 一、PdfDing介绍
    • [1.1 PdfDing简介](#1.1 PdfDing简介)
    • [1.2 PdfDing主要特点](#1.2 PdfDing主要特点)
    • [1.3 主要使用场景](#1.3 主要使用场景)
  • 二、本次实践规划
    • [2.1 本地环境规划](#2.1 本地环境规划)
    • [2.2 本次实践介绍](#2.2 本次实践介绍)
  • 三、本地环境检查
    • [3.1 检查Docker服务状态](#3.1 检查Docker服务状态)
    • [3.2 检查Docker版本](#3.2 检查Docker版本)
    • [3.3 检查docker compose 版本](#3.3 检查docker compose 版本)
  • 四、下载PdfDing镜像
  • 五、部署PdfDing
    • [5.1 创建部署目录](#5.1 创建部署目录)
    • [5.2 编辑部署文件](#5.2 编辑部署文件)
    • [5.3 创建PdfDing容器](#5.3 创建PdfDing容器)
    • [5.4 查看PdfDing容器状态](#5.4 查看PdfDing容器状态)
    • [5.5 查看PdfDing容器日志](#5.5 查看PdfDing容器日志)
  • 六、访问PdfDing服务
    • [6.1 访问PdfDing初始页](#6.1 访问PdfDing初始页)
    • [6.2 注册账号](#6.2 注册账号)
  • 七、PdfDing工具的基本使用
    • [7.1 设置主题](#7.1 设置主题)
    • [7.2 上传文档](#7.2 上传文档)
    • [7.3 在线浏览文档效果](#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。

hostname IP地址 操作系统版本 Docker版本 PdfDing镜像版本
ubuntu-001r 192.168.3.251 Ubuntu 22.04.1 LTS 24.0.7 0.3.4

2.2 本次实践介绍

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

2.在Docker环境下部署PDD查看器PdfDing。

三、本地环境检查

3.1 检查Docker服务状态

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

bash 复制代码
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
       Docs: https://docs.docker.com
   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版本

bash 复制代码
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以上版本。

bash 复制代码
root@ubuntu-001:~#  docker compose version
Docker Compose version v2.19.1

四、下载PdfDing镜像

拉取PdfDing镜像,镜像名称为:mrmn/pdfding:0.3.4

bash 复制代码
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 创建部署目录

  • 创建部署目录
bash 复制代码
mkdir -p /data/pdfding && cd /data/pdfding

5.2 编辑部署文件

/data/pdfding目录,创建docker-compose.yaml文件,内容如下,其中宿主机映射端口、登录账号密码等可以自定义配置。

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容器。

bash 复制代码
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容器正常启动。

bash 复制代码
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服务正常运行。

bash 复制代码
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对于快速搭建和运行应用程序的有效性和便捷性。

相关推荐
阿沁QWQ18 小时前
Docker镜像制作实战
运维·docker·容器
Miss 古月先生18 小时前
thinkphp6.0 html生成pdf
后端·pdf·php
胡单纯18 小时前
AI 直接解析 PDF 文档!OpenClaw 2026.3.3 新功能实测太强了
数据库·人工智能·pdf
开开心心就好18 小时前
操作简单的ISO文件编辑转换工具
java·前端·科技·edge·pdf·安全威胁分析·ddos
浮尘笔记18 小时前
Docker中安装Kafka以及基本配置和用法、踩坑记录
后端·docker·容器·kafka·php
杼蛘19 小时前
Kali下载与简单使用/MariaDB安装/Docker安装/MySQL镜像安装
mysql·docker·kali·mariadb
成为你的宁宁19 小时前
【docker镜像加速器配置】
运维·docker·容器
M-Ellen19 小时前
从零搭建 Windows + WSL2 + Docker + GitLab CI/CD 完整手册
ci/cd·docker·gitlab
风向决定发型丶19 小时前
K8S中Pod驱逐介绍
docker·容器·kubernetes
Zhu75819 小时前
【软件部署】用docker部署Apache Kafka 集群架构isolated模式带SSL
docker·kafka·apache