托管自己的 IronPDF Docker 容器
仅适用于 IronPDF v.2023.2.x 及以上版本
IronPdfEngine 是一种 gRPC 服务,可以处理 PDF 的创建、编写、编辑和读取。
IronPDF Docker 可以运行与 IronPDF 兼容版本的 docker 服务。 (v2023.2.x 及以上版本).这将帮助开发人员消除使用 IronPDF 时可能遇到的部署问题。
Why
IronPDF 需要 Chrome 浏览器和 Pdfium 二进制文件才能运行,而这些文件的大小都很大 (数百 MB).它还需要在机器上安装几个依赖项。
使用这种方法,您的客户端所占的大小仅为 (在 MB).
避免部署问题
配置环境/容器以正确包含所有依赖项可能很困难。使用 IronPDF Docker 容器意味着 IronPDF 已预先安装并保证正常运行,从而避免了所有令人头疼的部署和依赖问题。
版本
IronPDF Docker 标签基于 IronPdfEngine 本身的版本。它与 IronPDF 产品的版本不同。
每个 IronPDF 版本都有自己的相关 IronPdfEngine 版本。版本号必须***与 IronPDF Docker 版本一致。
例如对于 IronPDF for Java
版本 2023.2.1
,需要 IronPdfEngine 版本 2023.2.1
。您不能使用不匹配的 IronPdfEngine 和 IronPDF 版本。
如何使用 IronPDF Docker
第 1 步 - 安装 IronPDF
在项目中添加 IronPdf.Slim Nuget 包。
https://www.nuget.org/packages/IronPdf.Slim/
更多信息 https://ironpdf.com/docs/
注意:IronPdf
、IronPdf.Linux
和IronPdf.MacOs
软件包都包含 IronPdf.Slim.
为减小应用程序大小,我们建议只安装 IronPdf.Slim。IronPdf.Native.Chrome.xxx "包已不再使用,因此您可以将其从项目中移除。
第 2 步 - 确定所需的容器版本
默认情况下,IronPDF for Docker 的版本与 NuGet 上 IronPDF 的当前版本一致。
您还可以手动检查版本来确认:
:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-version.cs
string ironPdfEngineVersion = IronPdf.Installation.IronPdfEngineVersion;
Dim ironPdfEngineVersion As String = IronPdf.Installation.IronPdfEngineVersion
第 3 步 - 为 Docker 容器设置 IronPDF
步骤 3.i - 不使用 Docker Compose
使用上一步的版本运行 docker 容器
例如 IronPDF for Docker version e.g. 2023.2.1
:
docker network create -d bridge --attachable --subnet=172.19.0.0/16 -gateway=172.19.0.1 ironpdf-network
docker run -d -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY --network=ironpdf-network --ip=172.19.0.2 --name=ironpdfengine --hostname=ironpdfengine -p 33350:33350 ironsoftwareofficial/ironpdfengine:2023.2.1
33350 端口是 IronPdfEngine 的默认内部端口。
现在 IronPDF for Docker 已启动并运行!
步骤 3.ii - 使用 Docker Compose
使用以下模板设置 Docker Compose 文件:
version: "3.3"
services:
ironpdfengine:
container_name: ironpdfengine
image: ironsoftwareofficial/ironpdfengine:latest
networks:
ironpdf-network:
ipv4_address: 172.19.0.2
myconsoleapp:
container_name: myconsoleapp
build:
# enter YOUR project directory path here
context: ./MyConsoleApp/
# enter YOUR dockerfile name here, relative to project directory
dockerfile: Dockerfile
networks:
ironpdf-network:
ipv4_address: 172.19.0.3
depends_on:
ironpdfengine:
condition: service_started
networks:
ironpdf-network:
driver: bridge
ipam:
config:
- subnet: 172.19.0.0/16
gateway: 172.19.0.1
然后像下面这样运行你的 docker compose 命令:
docker compose up --detach --force-recreate --remove-orphans --timestamps
第 4 步 - 配置 IronPDF 客户端
添加这一行
:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-configure.cs
using IronPdf.GrpcLayer;
var config = new IronPdfConnectionConfiguration();
config.ConnectionType = IronPdfConnectionType.Docker;
IronPdf.Installation.ConnectToIronPdfHost(config);
Imports IronPdf.GrpcLayer
Private config = New IronPdfConnectionConfiguration()
config.ConnectionType = IronPdfConnectionType.Docker
IronPdf.Installation.ConnectToIronPdfHost(config)
第 5 步 - 享受
运行你的 IronPDF 代码,现在你的应用程序可以与 Docker 中的 IronPdfEngine 通信了!
客户端测试代码
:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-use.cs
using IronPdf;
using IronPdf.GrpcLayer;
var config = new IronPdfConnectionConfiguration();
config.ConnectionType = IronPdfConnectionType.Docker;
IronPdf.Installation.ConnectToIronPdfHost(config);
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>");
pdf.SaveAs("ironpdf.pdf");
Imports IronPdf
Imports IronPdf.GrpcLayer
Private config = New IronPdfConnectionConfiguration()
config.ConnectionType = IronPdfConnectionType.Docker
IronPdf.Installation.ConnectToIronPdfHost(config)
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>")
pdf.SaveAs("ironpdf.pdf")