将IronPDF作为远程容器运行
IronPdfEngine 是一个独立的服务,能够处理 PDF 的创建、写入、编辑和读取。 IronPDF Docker 已准备好运行与 IronPDF 兼容版本的 Docker 服务。(v2023.2.x 及以上版本). 这将帮助开发人员消除他们在使用IronPDF时可能遇到的部署问题。
为何将IronPDF作为独立容器运行是个好主意
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
安装 IronPDF
将 IronPdf.Slim Nuget 包添加到您的项目中。
https://www.nuget.org/packages/IronPdf.Slim/
注意:IronPdf
、IronPdf.Linux
和 IronPdf.MacOs
包都包含 IronPdf.Slim。
为了减小您的应用程序大小,我们建议仅安装IronPdf.Slim。 包 IronPdf.Native.Chrome.xxx
不再使用,因此您可以将其从项目中移除。
确定所需的容器版本
默认情况下,Docker版本的IronPDF将与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
设置IronPDF用于Docker容器
无需 Docker Compose
使用上一步中的版本运行 Docker 容器。
必须安装 Docker。
设置
访问 https://hub.docker.com/r/ironsoftwareofficial/ironpdfengine
- 拉取最新的ironsoftwareofficial/ironpdfengine镜像
docker pull ironsoftwareofficial/ironpdfengine
或调出特定版本(推荐)
docker pull ironsoftwareofficial/ironpdfengine:2023.12.6
运行 ironsoftwareofficial/ironpdfengine 容器。
此命令将创建一个容器,并在后台运行,端口号为33350。
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.12.6
使用 Docker Compose
关键是要建立一个Docker网络,使IronPdfEngine和您的应用程序能够相互看到。 将 'depends_on' 设置为确保 IronPdfEngine 在您的应用程序启动前已经运行。
设置
- 首先创建一个
docker-compose.yml
文件。使用以下模板设置您的 Docker Compose 文件:
version: "3.6"
services:
myironpdfengine:
container_name: ironpdfengine
image: ironsoftwareofficial/ironpdfengine:latest
ports:
- "33350:33350"
networks:
- ironpdf-network
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
depends_on:
myironpdfengine:
condition: service_started
networks:
ironpdf-network:
driver: "bridge"
在您的应用程序中设置IronPdfEngine的地址(我的控制台应用程序)到 "myironpdfengine:33350"
- 运行 docker compose
docker compose up --detach --force-recreate --remove-orphans --timestamps
连接到IronPdfEngine
运行您的IronPDF代码,您的应用程序现在可以与Docker中的IronPdfEngine进行通信。!
:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-use.cs
using IronPdf;
using IronPdf.GrpcLayer;
// Configure for Docker container
var config = new IronPdfConnectionConfiguration();
config.ConnectionType = IronPdfConnectionType.Docker;
IronPdf.Installation.ConnectToIronPdfHost(config);
// Use IronPDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>");
pdf.SaveAs("ironpdf.pdf");
Imports IronPdf
Imports IronPdf.GrpcLayer
' Configure for Docker container
Private config = New IronPdfConnectionConfiguration()
config.ConnectionType = IronPdfConnectionType.Docker
IronPdf.Installation.ConnectToIronPdfHost(config)
' Use IronPDF
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>")
pdf.SaveAs("ironpdf.pdf")
在 AWS ECS 上部署 IronPdfEngine
先决条件
- 拉取 IronPdfEngine Docker 镜像。 这是在设置IronPDF用于Docker容器上面。
- 一个具有访问ECS权限的AWS账户。
设置
创建 ECS 集群。 请在以下网址查看本指南使用控制台为 Fargate 和外部启动类型创建群集.
创建任务定义。 请按照本指南进行以下操作使用控制台创建任务定义.
推荐设置:
AWS Fargate
- 建议最低配置为1个虚拟CPU和2GB内存。 根据您的工作负载,如果您处理的 PDF 文件超过10页或者经历重负载请求,请选择更高的层级。
- 网络模式: awsvpc
- 端口映射:
"containerPort": 33350,
"hostPort": 33350,
"protocol": "tcp",
"appProtocol": "grpc"
- 图像 URI:指向我们的任何 IronPdfEngine。 例如,"ironsoftwareofficial/ironpdfEngine:2024.1.20"(来自 DockerHub)
- AWS权限 & 网络 请自行管理
- 建议启用 Amazon CloudWatch。 (启用日志记录)
- 容器启动顺序是必要的,如果您想在同一任务定义中部署您的应用程序容器。
运行任务定义。 您可以将任务定义作为任务或服务运行。 请在以下网址查看本指南使用控制台创建服务.
推荐设置:
- 启动类型:AWS Fargate
- 公共 IP:测试时开启,生产时关闭。 您自己负责安全和AWS网络。
享受! IronPdfEngine docker 在您的 AWS 中已启动并运行!
请注意
水平扩展不受支持。 请参阅IronPdfEngine 限制了解更多信息。
在 Azure 容器实例上部署 IronPdfEngine
先决条件
- 拉取 IronPdfEngine Docker 镜像。 这是在设置IronPDF用于Docker容器上面。
- Azure 账户
设置
创建 Azure 容器。 请遵循以下步骤使用 Azure 门户在 Azure 中部署容器实例的快速入门指南.
推荐设置:
- 图片来源:其他注册表
- 图像:ironsoftwareofficial/IronPdfEngine:2024.1.20(来自 Docker Hub)
- 操作系统类型:Linux
- 大小:最低配置为1 vCPU 和 2 GiB 内存或更高配置。
- 端口:TCP 端口 33350
享受! IronPdfEngine docker 在您的 Azure 容器实例中已启动并运行。!
请注意
水平扩展不受支持。 请参阅IronPdfEngine 限制了解更多信息。
在 AWS ECR 公共图库中获取 IronPdfEngine
先决条件
- 必须安装 Docker。
设置
- 拉取 v1m9w8y1/ironpdfengine 镜像
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine
或调出特定版本(推荐)
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6
运行 ironpdfengine 容器。
此命令将创建一个容器,并在后台运行,端口号为33350。
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
浏览" "部分,了解如何配置 IronPdf 客户端以使用 IronPdfEngine。更新代码以使用 IronPdfEngine."
从市场获取IronPdfEngine
为了帮助您快速入门,我们已经在 Azure 和 AWS Marketplace 上设置了 IronPdfEngine。
Azure 市场
设置
去Azure 市场上的 IronPDF Docker 容器. 点击“立即获取”和“继续”。
完成“基础信息”、“集群详情”和“应用详情”以创建 Kubernetes 服务。
- 部署完成后,在左侧侧边栏中,转到 Kubernetes 资源 -> 运行命令。 运行以下命令
kubectl get services

使用 EXTERNAL-IP 和 PORT 信息(S)您可以对 IronPDFEngine 连接进行相应配置。
:path=/static-assets/pdf/content-code-examples/how-to/pull-run-ironpdfengine-azure-marketplace.cs
using IronPdf;
using IronPdf.GrpcLayer;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdfConnectionConfiguration configuration = new IronPdfConnectionConfiguration();
configuration.ConnectionType = IronPdfConnectionType.RemoteServer;
configuration.Host = "http://48.216.143.233";
configuration.Port = 80;
IronPdf.Installation.ConnectToIronPdfHost(configuration);
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
pdf.SaveAs("output.pdf");
Imports IronPdf
Imports IronPdf.GrpcLayer
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim configuration As New IronPdfConnectionConfiguration()
configuration.ConnectionType = IronPdfConnectionType.RemoteServer
configuration.Host = "http://48.216.143.233"
configuration.Port = 80
IronPdf.Installation.ConnectToIronPdfHost(configuration)
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
pdf.SaveAs("output.pdf")
AWS Marketplace
先决条件
- 必须安装 Docker。
AWS CLI 必须安装并登录。
设置
去AWS 市场上的 IronPdfEngine. 点击“继续订阅”。
接受条款。
继续前往 Confiuguration。
- 拉取ironpdfengine镜像。 此步骤将向您展示一个命令,用来拉取ironpdfengine镜像。
例如
aws ecr get-login-password \
--region us-east-1
docker login \
--username AWS \
--password-stdin 000000000000.dkr.ecr.us-east-1.amazonaws.com
CONTAINER_IMAGES="000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15"
for i in $(echo $CONTAINER_IMAGES
sed "s/,/ /g"); do docker pull $i; done
- 运行 ironpdfengine 容器。 此命令将创建一个容器,并在后台运行,端口号为33350。
docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15