从零开始:在Linux服务器上通过Docker部署PDF3MD全攻略
从零开始在Linux服务器上通过Docker部署PDF3MD全攻略一、PDF3MD介绍1.1 PDF3MD简介1.2 PDF3MD主要特点二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、拉取PDF3MD镜像五、部署PDF3MD服务5.1 创建部署目录5.2 docker compose方式部署5.3 创建PDF3MD容器5.4 查看PDF3MD容器状态5.5 检查PDF3MD容器日志六、访问PDF3MD服务6.1 访问PDF3MD首页6.2 文档转化七、总结一、PDF3MD介绍1.1 PDF3MD简介PDF3MD是一款基于 Web 的文档转换工具采用 React 前端与 Python Flask 后端架构专注于将 PDF 文件高效、准确地转换为结构清晰的 Markdown 和 Microsoft WordDOCX格式并提供实时进度反馈与友好的用户交互体验。1.2 PDF3MD主要特点PDF 转 Markdown将 PDF 文档智能转换为结构清晰、可读性强的 Markdown 格式。Markdown 转 DOCX利用 Pandoc 将 Markdown 内容高保真地导出为 Word.docx文件。多文件上传支持同时上传并批量处理多个 PDF 文件提升转换效率。拖拽上传界面提供拖放或传统选择两种方式简化文件上传操作。实时进度跟踪在转换过程中为每个文件提供详细的实时状态更新。文件信息展示清晰显示原始文件名、大小、页数及转换时间等元数据。现代响应式 UI界面简洁直观适配桌面与移动设备确保跨平台良好体验。二、本次实践规划2.1 本地环境规划本次实践为个人测试环境操作系统版本为 Ubuntu 24.04.2 LTS。hostnameIP地址操作系统版本Docker版本部署项目备注jeven192.168.3.88Ubuntu 24.04.2 LTS28.5.0PDF3MD——2.2 本次实践介绍1.本次实践部署环境为个人测试环境生产环境请谨慎2.在Docker环境下部署PDF转Markdown工具PDF3MD。三、本地环境检查3.1 检查Docker服务状态检查Docker服务是否正常运行确保Docker正常运行。rootjeven:~# systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded(/usr/lib/systemd/system/docker.service;enabled;preset: enabled)Active: active(running)since Tue2025-12-02 00:51:31 CST;1min 11s ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID:75393(dockerd)Tasks:32Memory:34.1M(peak:34.8M)CPU:1.248s CGroup: /system.slice/docker.service3.2 检查Docker版本检查Docker版本rootjeven:~# docker -vDocker version28.5.0, build 887030f3.3 检查docker compose 版本检查Docker compose版本确保2.0以上版本。rootjeven:~# docker compose versionDocker Compose version v2.39.4四、拉取PDF3MD镜像下载PDF3MD镜像执行以下命令dockerpull registry.cn-hangzhou.aliyuncs.com/jeson/pdf3md-backend:latestdockerpull registry.cn-hangzhou.aliyuncs.com/jeson/pdf3md-frontend:latest五、部署PDF3MD服务5.1 创建部署目录创建部署目录mkdir-p/data/pdf3md/datacd/data/pdf3md目录权限设置chmod-R777/data/pdf3md5.2 docker compose方式部署新建及编辑docker-compose.yaml文件宿主机映射端口可自行设置注意防止端口冲突。vimdocker-compose.yamlservices:backend:image:registry.cn-hangzhou.aliyuncs.com/jeson/pdf3md-backend:latestcontainer_name:pdf3md-backendrestart:unless-stoppedports:-6201:6201volumes:-./data:/app/tempenvironment:-PYTHONUNBUFFERED1-FLASK_ENVproduction-TZAsia/Shanghaihealthcheck:test:[CMD,curl,-f,http://localhost:6201/]interval:30stimeout:10sretries:3start_period:40sfrontend:image:registry.cn-hangzhou.aliyuncs.com/jeson/pdf3md-frontend:latestcontainer_name:pdf3md-frontendrestart:unless-stoppedports:-9960:3000environment:{}depends_on:-backendhealthcheck:test:[CMD,wget,--no-verbose,--tries1,--spider,http://localhost:3000/]interval:30stimeout:10sretries:3start_period:40s5.3 创建PDF3MD容器执行以下命令创建PDF3MD容器。dockercompose up-d5.4 查看PDF3MD容器状态检查PDF3MD容器运行状态确保PDF3MD容器正常启动。rootjeven:/data/pdf3md# docker compose psNAME IMAGE COMMAND SERVICE CREATED STATUS PORTS pdf3md-backend registry.cn-hangzhou.aliyuncs.com/jeson/pdf3md-backend:latestpython app.pybackend39seconds ago Up38seconds(health: starting)0.0.0.0:6201-6201/tcp,[::]:6201-6201/tcp pdf3md-frontend registry.cn-hangzhou.aliyuncs.com/jeson/pdf3md-frontend:latestdocker-entrypoint.s…frontend39seconds ago Up38seconds(healthy)0.0.0.0:9960-3000/tcp,[::]:9960-3000/tcp5.5 检查PDF3MD容器日志检查容器运行日志确保PDF3MD服务正常运行。dockercompose logs六、访问PDF3MD服务6.1 访问PDF3MD首页浏览器地址http://个人的服务器IP:9960访问PDF3MD初始页。如果无法访问请确保宿主机的防火墙已关闭或已放行相关端口对于云服务器还需配置相应的安全组规则。6.2 文档转化将测试PDF文档转化为Markdown格式文档效果如下七、总结本次实践通过 Docker 成功部署了 PDF3MD验证了其作为一款轻量级 PDF 转 Markdown/DOCX 工具的便捷性与实用性。借助 Docker Compose前后端服务快速启动无需手动配置复杂依赖极大简化了部署流程。PDF3MD 提供的拖拽上传、多文件处理和实时进度反馈功能显著提升了文档转换效率和用户体验。

相关新闻

被命令行劝退的第N次,我遇到了这款免费开源的图形化M3U8视频下载工具

被命令行劝退的第N次,我遇到了这款免费开源的图形化M3U8视频下载工具

被命令行劝退的第N次,我遇到了这款免费开源的图形化M3U8视频下载工具 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG 在很长一段时间里,我听到「M3U8」三个…

2026/8/16 20:08:38 阅读更多 →
PhotoGIMP免费替代Photoshop:3分钟零成本迁移,从订阅制到开源编辑器的完整体验

PhotoGIMP免费替代Photoshop:3分钟零成本迁移,从订阅制到开源编辑器的完整体验

PhotoGIMP免费替代Photoshop:3分钟零成本迁移,从订阅制到开源编辑器的完整体验 【免费下载链接】PhotoGIMP A Patch for GIMP 3 for Photoshop Users 项目地址: https://gitcode.com/GitHub_Trending/ph/PhotoGIMP PhotoGIMP 是一个专为 Photoshop…

2026/8/16 20:07:52 阅读更多 →
OpenProject容器化部署零门槛教程:一条命令拉起你的专属项目管理平台

OpenProject容器化部署零门槛教程:一条命令拉起你的专属项目管理平台

OpenProject容器化部署零门槛教程:一条命令拉起你的专属项目管理平台 【免费下载链接】openproject OpenProject is the leading open source project management software for product, project and portfolio management. A powerful Jira alternative with agile…

2026/8/16 20:07:55 阅读更多 →

最新新闻

Java 修饰符终极指南:从 public 到 volatile,一文掌握 12 种修饰符的底层原理

Java 修饰符终极指南:从 public 到 volatile,一文掌握 12 种修饰符的底层原理

面试官:Java 修饰符有几个?我答出 7 个后,他追问了 volatile 和 transient 从访问权限到 JVM 指令,从内存可见性到序列化,这篇带你彻底吃透 Java 修饰符我们之前聊过 数据类型(值长什么样)和 变…

2026/8/16 23:27:49 阅读更多 →
头歌实践教学平台:Spark大数据编程(二十六~三十)

头歌实践教学平台:Spark大数据编程(二十六~三十)

二十六、Spark 的设计与运行原理任务描述 本关任务:根据相关知识内容完成右侧习题。相关知识 为了完成本关任务,你需要掌握:Spark 基本概念 Spark 运行架构 Spark 运行流程 Spark 计算框架优势二十七、Scala Option任务描述 本关任务&#xf…

2026/8/16 23:27:49 阅读更多 →
深入掌握seq命令:从数字序列生成到Linux运维实战应用

深入掌握seq命令:从数字序列生成到Linux运维实战应用

1. 从“seq”说起:一个被低估的文本生成利器如果你在Linux或macOS的命令行里待过一段时间,大概率见过或用过seq这个命令。它的名字是“sequence”(序列)的缩写,功能也如其名——生成一个数字序列。乍一看,这…

2026/8/16 23:27:49 阅读更多 →
【毕设作品】基于FastAPI的智能教室人脸考勤与注意力分析系统的设计与实现

【毕设作品】基于FastAPI的智能教室人脸考勤与注意力分析系统的设计与实现

文章目录前言题目技术栈功能概述实现页面截图系统测试系统测试目的系统功能测试系统测试结论文章参考我的优势代码参考数据库参考源码获取前言 ❤️博主简介:全网累计学员1000,培训机构讲师、全栈开发工程师、知乎/小红书优秀作者、腾讯云/阿里云VIP客户…

2026/8/16 23:27:49 阅读更多 →
Docker Compose部署BookStack:快速搭建私有知识库的完整指南

Docker Compose部署BookStack:快速搭建私有知识库的完整指南

1. 项目缘起:为什么选择BookStack来搭建个人知识库? 最近在整理手头积累的技术笔记、项目文档和零散想法时,我越来越觉得需要一个统一的、结构化的地方来存放它们。尝试过各种笔记软件,从Notion到Obsidian,各有各的好…

2026/8/16 23:26:49 阅读更多 →
HAR文件全解析:从网络请求诊断到前端性能优化的实战指南

HAR文件全解析:从网络请求诊断到前端性能优化的实战指南

1. 从一次线上故障排查说起:HAR文件如何成为“破案”关键那天下午,团队里负责前端的小王急匆匆地跑过来,说线上一个核心表单的提交成功率突然从99.9%跌到了70%左右,用户反馈点了提交按钮没反应。监控系统只显示接口超时&#xff0…

2026/8/16 23:26:49 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →