镜像构建历史
# 2025-09-06 02:48:07 0.00B 设置默认要执行的命令
CMD ["sh" "-c" "java -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/tmp/stirling-pdf -jar /app.jar & /opt/venv/bin/unoserver --port 2003 --interface 127.0.0.1"]
# 2025-09-06 02:48:07 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["tini" "--" "/scripts/init.sh"]
# 2025-09-06 02:48:07 0.00B 声明容器运行时监听的端口
EXPOSE map[8080/tcp:{}]
# 2025-09-06 02:48:07 1.95GB 执行命令并创建新的镜像层
RUN |1 VERSION_TAG=1.3.2 /bin/sh -c echo "@main https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/repositories && echo "@community https://dl-cdn.alpinelinux.org/alpine/edge/community" | tee -a /etc/apk/repositories && echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" | tee -a /etc/apk/repositories && apk upgrade --no-cache -a && apk add --no-cache ca-certificates tzdata tini bash curl shadow su-exec openssl openssl-dev openjdk21-jre gcompat libc6-compat libreoffice poppler-utils tesseract-ocr-data-eng tesseract-ocr-data-chi_sim tesseract-ocr-data-deu tesseract-ocr-data-fra tesseract-ocr-data-por unpaper py3-opencv python3 ocrmypdf py3-pip py3-pillow@testing py3-pdf2image@testing font-urw-base35 && python3 -m venv /opt/venv && /opt/venv/bin/pip install --no-cache-dir --upgrade pip setuptools && /opt/venv/bin/pip install --no-cache-dir --upgrade unoserver weasyprint && ln -s /usr/lib/libreoffice/program/uno.py /opt/venv/lib/python3.12/site-packages/ && ln -s /usr/lib/libreoffice/program/unohelper.py /opt/venv/lib/python3.12/site-packages/ && ln -s /usr/lib/libreoffice/program /opt/venv/lib/python3.12/site-packages/LibreOffice && mv /usr/share/tessdata /usr/share/tessdata-original && mkdir -p $HOME /configs /logs /customFiles /pipeline/watchedFolders /pipeline/finishedFolders /tmp/stirling-pdf && ln -s /usr/share/fontconfig/conf.avail/69-urw-*.conf /etc/fonts/conf.d/ && fc-cache -f -v && chmod +x /scripts/* && addgroup -S stirlingpdfgroup && adduser -S stirlingpdfuser -G stirlingpdfgroup && chown -R stirlingpdfuser:stirlingpdfgroup $HOME /scripts /usr/share/fonts/opentype/noto /configs /customFiles /pipeline /tmp/stirling-pdf && chown stirlingpdfuser:stirlingpdfgroup /app.jar # buildkit
# 2025-09-06 02:48:07 0.00B 设置环境变量 DISABLE_ADDITIONAL_FEATURES VERSION_TAG JAVA_BASE_OPTS -XX:MaxRAMPercentage -XX:InitiatingHeapOccupancyPercent -XX:G1PeriodicGCInterval -XX:G1PeriodicGCSystemLoadThreshold JAVA_CUSTOM_OPTS HOME PUID PGID UMASK PYTHONPATH UNO_PATH URE_BOOTSTRAP PATH STIRLING_TEMPFILES_DIRECTORY TMPDIR TEMP TMP
ENV DISABLE_ADDITIONAL_FEATURES=true VERSION_TAG=1.3.2 JAVA_BASE_OPTS=-XX:+UnlockExperimentalVMOptions -XX:MaxRAMPercentage=75 -XX:InitiatingHeapOccupancyPercent=20 -XX:+G1PeriodicGCInvokesConcurrent -XX:G1PeriodicGCInterval=10000 -XX:+UseStringDeduplication -XX:G1PeriodicGCSystemLoadThreshold=70 JAVA_CUSTOM_OPTS= HOME=/home/stirlingpdfuser PUID=1000 PGID=1000 UMASK=022 PYTHONPATH=/usr/lib/libreoffice/program:/opt/venv/lib/python3.12/site-packages UNO_PATH=/usr/lib/libreoffice/program URE_BOOTSTRAP=file:///usr/lib/libreoffice/program/fundamentalrc PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/venv/bin STIRLING_TEMPFILES_DIRECTORY=/tmp/stirling-pdf TMPDIR=/tmp/stirling-pdf TEMP=/tmp/stirling-pdf TMP=/tmp/stirling-pdf
# 2025-09-06 02:48:07 0.00B 添加元数据标签
LABEL org.opencontainers.image.keywords=PDF, manipulation, merge, split, convert, OCR, watermark
# 2025-09-06 02:48:07 0.00B 添加元数据标签
LABEL org.opencontainers.image.version=1.3.2
# 2025-09-06 02:48:07 0.00B 添加元数据标签
LABEL org.opencontainers.image.authors=Stirling-Tools
# 2025-09-06 02:48:07 0.00B 添加元数据标签
LABEL maintainer=Stirling-Tools
# 2025-09-06 02:48:07 0.00B 添加元数据标签
LABEL org.opencontainers.image.documentation=https://docs.stirlingpdf.com
# 2025-09-06 02:48:07 0.00B 添加元数据标签
LABEL org.opencontainers.image.url=https://www.stirlingpdf.com
# 2025-09-06 02:48:07 0.00B 添加元数据标签
LABEL org.opencontainers.image.vendor=Stirling-Tools
# 2025-09-06 02:48:07 0.00B 添加元数据标签
LABEL org.opencontainers.image.licenses=MIT
# 2025-09-06 02:48:07 0.00B 添加元数据标签
LABEL org.opencontainers.image.source=https://github.com/Stirling-Tools/Stirling-PDF
# 2025-09-06 02:48:07 0.00B 添加元数据标签
LABEL org.opencontainers.image.description=A powerful locally hosted web-based PDF manipulation tool supporting 50+ operations including merging, splitting, conversion, OCR, watermarking, and more.
# 2025-09-06 02:48:07 0.00B 添加元数据标签
LABEL org.opencontainers.image.title=Stirling-PDF
# 2025-09-06 02:48:07 0.00B 定义构建参数
ARG VERSION_TAG=1.3.2
# 2025-09-06 02:47:29 98.29MB 复制新文件或目录到容器中
COPY app/core/build/libs/*.jar app.jar # buildkit
# 2025-09-05 20:44:14 28.37MB 复制新文件或目录到容器中
COPY app/core/src/main/resources/static/fonts/*.ttf /usr/share/fonts/opentype/noto/ # buildkit
# 2025-09-05 20:44:14 37.16KB 复制新文件或目录到容器中
COPY scripts /scripts # buildkit
# 2025-07-15 19:01:16 0.00B 设置默认要执行的命令
CMD ["/bin/sh"]
# 2025-07-15 19:01:16 8.31MB 复制文件或目录到容器中
ADD alpine-minirootfs-3.22.1-x86_64.tar.gz / # buildkit
镜像信息
{
"Id": "sha256:ec0290ba5c2a64182446f1155fa5cd082431eaa294ab14ae7f342eceeb8ca92e",
"RepoTags": [
"docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest"
],
"RepoDigests": [
"docker.stirlingpdf.com/stirlingtools/stirling-pdf@sha256:ae74a9f00f374e628c484c2f4bb96c08406a3e8b8cb3825ea821df9dd8a7fdd7",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/docker.stirlingpdf.com/stirlingtools/stirling-pdf@sha256:e1698859fdfbfcf282bf3eec90ba29f41a6078fd6571da46b947c6f84074828b"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-09-05T18:48:07.709174436Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8080/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/venv/bin",
"DISABLE_ADDITIONAL_FEATURES=true",
"VERSION_TAG=1.3.2",
"JAVA_BASE_OPTS=-XX:+UnlockExperimentalVMOptions -XX:MaxRAMPercentage=75 -XX:InitiatingHeapOccupancyPercent=20 -XX:+G1PeriodicGCInvokesConcurrent -XX:G1PeriodicGCInterval=10000 -XX:+UseStringDeduplication -XX:G1PeriodicGCSystemLoadThreshold=70",
"JAVA_CUSTOM_OPTS=",
"HOME=/home/stirlingpdfuser",
"PUID=1000",
"PGID=1000",
"UMASK=022",
"PYTHONPATH=/usr/lib/libreoffice/program:/opt/venv/lib/python3.12/site-packages",
"UNO_PATH=/usr/lib/libreoffice/program",
"URE_BOOTSTRAP=file:///usr/lib/libreoffice/program/fundamentalrc",
"STIRLING_TEMPFILES_DIRECTORY=/tmp/stirling-pdf",
"TMPDIR=/tmp/stirling-pdf",
"TEMP=/tmp/stirling-pdf",
"TMP=/tmp/stirling-pdf"
],
"Cmd": [
"sh",
"-c",
"java -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/tmp/stirling-pdf -jar /app.jar \u0026 /opt/venv/bin/unoserver --port 2003 --interface 127.0.0.1"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/",
"Entrypoint": [
"tini",
"--",
"/scripts/init.sh"
],
"OnBuild": null,
"Labels": {
"maintainer": "Stirling-Tools",
"org.opencontainers.image.authors": "Stirling-Tools",
"org.opencontainers.image.created": "2025-09-05T18:47:23.525Z",
"org.opencontainers.image.description": "#1 Locally hosted web application that allows you to perform various operations on PDF files",
"org.opencontainers.image.documentation": "https://docs.stirlingpdf.com",
"org.opencontainers.image.keywords": "PDF, manipulation, merge, split, convert, OCR, watermark",
"org.opencontainers.image.licenses": "NOASSERTION",
"org.opencontainers.image.revision": "5e72dce0decd6a60c1ef048c74e6560352b43eb1",
"org.opencontainers.image.source": "https://github.com/Stirling-Tools/Stirling-PDF",
"org.opencontainers.image.title": "Stirling-PDF",
"org.opencontainers.image.url": "https://github.com/Stirling-Tools/Stirling-PDF",
"org.opencontainers.image.vendor": "Stirling-Tools",
"org.opencontainers.image.version": "1.3.2"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 2087472866,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/473c38ad4279cbf6072620177ffab476cc886aabcb39fb22584d9a31d34db8ee/diff:/var/lib/docker/overlay2/302906ce6f66c4b295c4d42ac031754f29a24d86f47ccae0e7b8279c1ec44e5f/diff:/var/lib/docker/overlay2/1e6852c0b7bfbbe55cd40d14933296b44e82f35d1d3794098f9e7f89ff325eac/diff:/var/lib/docker/overlay2/fce31083bf78fb669ced5e473ada166388fb6191ae6144c91b94c9a1629510cc/diff",
"MergedDir": "/var/lib/docker/overlay2/3c3dc82bfab7ca59b6354e64f20bc22d1086f57455ade5bae31a1007ad782dd3/merged",
"UpperDir": "/var/lib/docker/overlay2/3c3dc82bfab7ca59b6354e64f20bc22d1086f57455ade5bae31a1007ad782dd3/diff",
"WorkDir": "/var/lib/docker/overlay2/3c3dc82bfab7ca59b6354e64f20bc22d1086f57455ade5bae31a1007ad782dd3/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:418dccb7d85a63a6aa574439840f7a6fa6fd2321b3e2394568a317735e867d35",
"sha256:22a0b035e763478f566e92b126b88579399b626189cc8893182f1c40488693b2",
"sha256:67887829ec5c1e122da5fa8c27e738ee19b18e01bf708b3be835ce5606f5a13a",
"sha256:4514038853929c0abc3e5b83e9470c8385b98b2e034a7600d4d81078a09cb77a",
"sha256:bf5835a71673dd739c067efb2962db4c3dc25a45b9bec03d7be8d3fbe8b3252b"
]
},
"Metadata": {
"LastTagTime": "2025-09-10T17:18:44.185985256+08:00"
}
}