AiShang - 爱尚博客AiShang - 爱尚博客AiShang - 爱尚博客

【打工日常】使用docker部署在线PDF工具(docker run)

一、Stirling-PDF介绍

Stirling-PDF是一款功能强大的本地托管的基于 Web 的 PDF 操作工具,使用 docker部署。该自托管 Web 应用程序最初是由ChatGPT全权制作的,现已发展到包含广泛的功能来处理您的所有 PDF 需求。允许对 PDF 文件执行各种操作,例如拆分、合并、转换、重组、添加图像、旋转、压缩等。。

二、本次实践介绍

本次实践简介

本次实践部署环境为个人测试环境

本地环境规划

本次实践环境规划:docker快速拉取docker-ui镜像,然后后台启动docker-ui镜像

镜像命名

IP地址

容器镜像版本

操作系统版本

pdf

localhost

latest

ubuntu 22.04

三、检查本地Docker环境

检查本地Docker版本
复制
检查Docker版本:docker version root@WellDone:/home/goodjob# docker version Client: Docker Engine - Community Version: 25.0.0 API version: 1.44 Go version: go1.21.6 Git commit: e758fe5 Built: Thu Jan 18 17:09:49 2024 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 25.0.0 API version: 1.44 (minimum version 1.24) Go version: go1.21.6 Git commit: 615dfdf Built: Thu Jan 18 17:09:49 2024 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.6.27 GitCommit: a1496014c916f9e62104b33d1bb5bd03b0858e59 runc: Version: 1.1.11 GitCommit: v1.1.11-0-g4bccb38 docker-init: Version: 0.19.0 GitCommit: de40ad0 root@WellDone:/home/goodjob#1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.
检查Docker服务状态

检查Docker服务状态,确保Docker服务正常运行。

复制
systemctl status docker root@WellDone:/home/goodjob/Downloads# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2024-01-24 08:54:31 CST; 1 day 4h ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 1549 (dockerd) Tasks: 65 Memory: 419.5M CPU: 38.874s CGroup: /system.slice/docker.service ├─ 1549 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ├─ 2010 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 6379 -container-ip 172.17.0.2 -container-port 6379 ├─ 2016 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 6379 -container-ip 172.17.0.2 -container-port 6379 ├─ 2029 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5432 -container-ip 172.17.0.3 -container-port 5432 ├─ 2036 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 5432 -container-ip 172.17.0.3 -container-port 5432 ├─123083 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8888 -container-ip 172.17.0.4 -container-port 8080 └─123095 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8888 -container-ip 172.17.0.4 -container-port 8080 1月 24 08:54:31 WellDone dockerd[1549]: time="2024-01-24T08:54:31.067895045+08:00" level=info msg="API listen on /run/docker.sock" 1月 24 08:54:31 WellDone systemd[1]: Started Docker Application Container Engine. 1月 24 16:13:48 WellDone dockerd[1549]: time="2024-01-24T16:13:48.185008219+08:00" level=info msg="ignoring event" container=8ad99af82d8a41dd661d> 1月 24 16:13:48 WellDone dockerd[1549]: time="2024-01-24T16:13:48.189484205+08:00" level=warning msg="ShouldRestart failed, container will not be> 1月 24 21:58:08 WellDone dockerd[1549]: time="2024-01-24T21:58:08.024915139+08:00" level=info msg="ignoring event" container=27fd28e2993f31b170b8> 1月 24 21:58:08 WellDone dockerd[1549]: time="2024-01-24T21:58:08.029986730+08:00" level=warning msg="ShouldRestart failed, container will not be> 1月 25 10:46:16 WellDone dockerd[1549]: time="2024-01-25T10:46:16.329180722+08:00" level=info msg="Container failed to exit within 10s of signal > 1月 25 10:46:16 WellDone dockerd[1549]: time="2024-01-25T10:46:16.350757439+08:00" level=info msg="ignoring event" container=b1223add00f36bbb3246> 1月 25 10:49:21 WellDone dockerd[1549]: time="2024-01-25T10:49:21.993755983+08:00" level=info msg="Container failed to exit within 10s of signal > 1月 25 10:49:22 WellDone dockerd[1549]: time="2024-01-25T10:49:22.015822650+08:00" level=info msg="ignoring event" container=edb0e153b45dbe62acd8> lines 1-28/28 (END)1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.

四、部署Stirling-PDF镜像

下载Stirling-PDF镜像
复制
docker pull registry.cn-guangzhou.aliyuncs.com/welldene/docker:pdf root@WellDone:/home/goodjob# docker pull registry.cn-guangzhou.aliyuncs.com/welldene/docker:pdf cc1ee397d0db: Pulling from welldene/docker f56be85fc22e: Pull complete 2ce963c369bc: Pull complete 59b9d2200e63: Pull complete 3e1e579c95fe: Pull complete 547a97583f72: Pull complete 1f21f983520d: Pull complete c23b4f8cf279: Pull complete 474309a46f42: Pull complete af64c5430238: Pull complete 7b75d6dbb9f1: Pull complete c778446d5628: Pull complete Digest: sha256:265037f4d46050d0bee8b0601b617f74537a518c543f55d3b3c724c63c792c6d Status: Downloaded newer image for registry.cn-guangzhou.aliyuncs.com/welldene/docker:pdf registry.cn-guangzhou.aliyuncs.com/welldene/docker:pdf root@WellDone:/home/goodjob# docker images registry.cn-guangzhou.aliyuncs.com/welldene/docker pdf cc1ee397d0db 11 days ago 1.4GB1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.
创建容器

使用docker快速创建Stirling-PDF的容器。

复制
完整创建过程: 1.使用docker-cli启动一个Stirling-PDF的容器。 docker run -d --name pdf -v /opt/pdf/trainingData:/usr/share/tesseract-ocr/5/tessdata -v /opt/pdf/extraConfigs:/configs -v /opt/pdflogs:/logs -e DOCKER_ENABLE_SECURITY=false -p 18181:8080 registry.cn-guangzhou.aliyuncs.com/welldene/docker:pdf 2.使用docker-compose启动一个Stirling-PDF的容器 version: 3.9 services: welldene: image: registry.cn-guangzhou.aliyuncs.com/welldene/docker:pdf ports: - 18181:8080 environment: - DOCKER_ENABLE_SECURITY=false volumes: - /opt/pdflogs:/logs - /opt/pdf/extraConfigs:/configs - /opt/pdf/trainingData:/usr/share/tesseract-ocr/5/tessdata container_name: pdf 3.容器启动正常,访问 http://ip:181811.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.

3. 检查容器运行状态

检查容器的运行状态,确保服务的正常运行。

docker ps

复制
root@WellDone:/home/goodjob# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES pdf registry.cn-guangzhou.aliyuncs.com/welldene/docker:pdf "tini -- /scripts/in…" pdf 6 seconds ago Up 5 seconds 0.0.0.0:18181->8080/tcp, :::18181->8080/tcp1.2.3.

五、访问Stirling-PDF页面

访问Stirling-PDF首页 访问地址:http://localhost:18181

未经允许不得转载:AiShang - 爱尚博客 » 【打工日常】使用docker部署在线PDF工具(docker run)