前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Docker项目实战篇】Docker部署PDD查看器PdfDing

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

原创
作者头像
江湖有缘
发布2024-10-15 21:50:14
920
发布2024-10-15 21:50:14
举报
文章被收录于专栏:Linux成长之路

@TOC

一、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文件,内容如下,其中宿主机映射端口、登录账号密码等可以自定义配置。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、PdfDing介绍
    • 1.1 PdfDing简介
      • 1.2 PdfDing主要特点
        • 1.3 主要使用场景
        • 二、本次实践规划
          • 2.1 本地环境规划
            • 2.2 本次实践介绍
            • 三、本地环境检查
              • 3.1 检查Docker服务状态
                • 3.2 检查Docker版本
                  • 3.3 检查docker compose 版本
                  • 四、下载PdfDing镜像
                  • 五、部署PdfDing
                    • 5.1 创建部署目录
                      • 5.2 编辑部署文件
                        • 5.3 创建PdfDing容器
                          • 5.4 查看PdfDing容器状态
                            • 5.5 查看PdfDing容器日志
                            • 六、访问PdfDing服务
                              • 6.1 访问PdfDing初始页
                                • 6.2 注册账号
                                • 七、PdfDing工具的基本使用
                                  • 7.1 设置主题
                                    • 7.2 上传文档
                                      • 7.3 在线浏览文档效果
                                      • 八、总结
                                      相关产品与服务
                                      容器服务
                                      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                                      领券
                                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档