托管自己的 IronPDF Docker 容器

This article was translated from English: Does it need improvement?
Translated
View the article in English
仅适用于 IronPDF v.2023.2.x 及以上版本

IronPdfEngine是一个gRPC服务,可以处理PDF的创建、写入、编辑和阅读。

IronPDF Docker 已准备好运行与 IronPDF 兼容版本的 Docker 服务。(v2023.2.x 及以上版本). 这将帮助开发人员消除他们在使用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

步骤1 - 安装IronPDF

将 IronPdf.Slim Nuget 包添加到您的项目中。

https://www.nuget.org/packages/IronPdf.Slim/

更多信息:https://ironpdf.com/docs/

注意:IronPdfIronPdf.LinuxIronPdf.MacOs 包都包含 IronPdf.Slim。

为了减小您的应用程序大小,我们建议仅安装IronPdf.Slim。 包 IronPdf.Native.Chrome.xxx 不再使用,因此您可以将其从项目中移除。

步骤2 - 确定所需的容器版本

默认情况下,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
VB   C#

第 3 步 - 为 Docker 容器设置 IronPDF

步骤3.i - 不使用Docker Compose

使用上一步的版本运行docker容器。

例如 IronPDF for Docker 版本,例如 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 文件:

```yaml
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)
VB   C#

步骤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")
VB   C#