DockerでIronPDFエンジンを使う方法|IronPDF

リモートコンテナとしてIronPDFを実行する

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPdfEngine は、PDF の作成、書き込み、編集、および読み取りを処理できるスタンドアロンサービスです。 IronPDF Docker は、IronPDF(v2023.2.x 以上)と互換性のあるバージョンで Docker サービスを実行する準備が整いました。 これにより、開発者は 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/

注: IronPdfIronPdf.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
$vbLabelText   $csharpLabel

Docker コンテナに IronPDF をセットアップする

Docker Compose なし

前の手順で得たバージョンを使用して、Docker コンテナを実行します。

  • Docker をインストールする必要があります。

Setup

  1. https://hub.docker.com/r/ironsoftwareofficial/ironpdfengine に移動します。
  2. 最新の ironsoftwareofficial/ironpdfengine イメージをプルします。
docker pull ironsoftwareofficial/ironpdfengine
docker pull ironsoftwareofficial/ironpdfengine
SHELL

または特定のバージョン(推奨)をプルします。

docker pull ironsoftwareofficial/ironpdfengine:2025.3.6
docker pull ironsoftwareofficial/ironpdfengine:2025.3.6
SHELL
  1. ironsoftwareofficial/ironpdfengine コンテナを実行します。

このコマンドは、コンテナを作成し、ポート 33350 でバックグラウンドで実行します。

docker run -d -p 33350:33350 -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY ironsoftwareofficial/ironpdfengine:2025.3.6
docker run -d -p 33350:33350 -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY ironsoftwareofficial/ironpdfengine:2025.3.6
SHELL

Docker Compose を使用する

鍵は、IronPdfEngine とアプリケーションがお互いを見れるようにする Docker ネットワークをセットアップすることです。 'depends_on' を設定して、アプリケーションが開始する前に IronPdfEngine が稼働していることを確認します。

Setup

  1. 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'
  1. アプリケーション(myconsoleapp)内の IronPdfEngine のアドレスを "myironpdfengine:33350" に設定します。
  2. Docker Compose を実行します。
docker compose up --detach --force-recreate --remove-orphans --timestamps
docker compose up --detach --force-recreate --remove-orphans --timestamps
SHELL

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 = IronPdfConnectionConfiguration.Docker;
config.Host = "localhost";
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 = IronPdfConnectionConfiguration.Docker
config.Host = "localhost"
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")
$vbLabelText   $csharpLabel

接続タイプ

作成したい接続タイプに応じて割り当てることができる IronPdfConnectionType がいくつかあります。

利用可能なプロパティのリストは次のとおりです。

LocalExecutable: ローカルマシンで実行可能ファイルを実行する IronPdfEngine "サーバ" に接続するには、このオプションを使用します。 簡単な例として、クラウドサービスに依存せずにローカルで PDF を生成する WinForm 請求書アプリケーションです。

Docker: ローカルまたはクラウドで Docker コンテナに接続しようとする場合、このオプションを使用します。

RemoteServer: クラウドの IronPdfEngine 用に使用されるオプションです。 これは、HTTP または HTTPS プロトコルを介してクラウドホストされた(例: Docker)IronPdfEngine インスタンスに接続します。 これはリモートサーバーに接続しているため、完全なURL(HTTPまたはHTTPSプロトコルを含む)が必要になります。

Custom: 接続に対する完全な制御とカスタマイズのために、このオプションを使用できます。 このオプションは、上記の他の定義済みのオプションではなく、カスタム定義された Grpc.Core.ChannelBase を使用します。 開発者は、新しい Grpc.Core.Channel オブジェクトを作成するか、Grpc.Net.Client.GrpcChannel.ForAddress(System.String) を使用して gRPC チャネルをカスタムし、完全制御を行うことで、新しいチャネルを作成できます。

NetFrameworkChannel を使った .NET Framework

.NET Framework では、gRPC が .NET Framework プロジェクトで異なる方法で動作するため、異なるセットアップが必要です。 この方法を機能させるために、Grpc.Core NuGet パッケージがインストールされていることを確認してください。 この特定のセットアップには、Grpc.Core.ChannelBase から派生したカスタム gRPC チャネルを使用します。

接続チャネルを実装し、IronPDFEngine を使用して PDF を作成し保存する例を見てみましょう。

.NET FrameworkプロジェクトではgRPCの動作が異なるため、以下のコードが動作しない場合は、アドレスの<http>または<https>プレフィックスを削除してみてください。

この場合、pdf.Disposeが必要であることに注意してください。

:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-use-grpc.cs
using IronPdf;

// This code demonstrates how to use IronPdf with gRPC in a .NET Framework application.

// 1. Configure connection to use local IronPdfEngine executable
var config = IronPdf.GrpcLayer.IronPdfConnectionConfiguration.Executable;

// 2. Connect to the IronPDF host with the executable configuration
IronPdf.Installation.ConnectToIronPdfHost(config);

// 3. Create a PDF renderer instance
ChromePdfRenderer renderer = new ChromePdfRenderer();

// 4. Render HTML string as PDF document
PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello world");

// 5. Save the PDF to disk
pdf.SaveAs("output.pdf");

// 6. Clean up , this is needed to work
pdf.Dispose();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

WithCustomChannel を使用した代替方法

代替方法として、IronPdf.GrpcLayer によって提供される WithCustomChannel メソッドを利用することができます。

WithCustomChannel は 2 つのパラメータを受け取ります。1 つはあなたのカスタム gRPC チャネルである customChannel、もう 1 つはmetadata です。 metadata パラメータはオプションであり、デフォルトで null に設定されています。

:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-use-grpc-alt.cs
using IronPdf;
using IronPdf.GrpcLayer;
using Grpc.Core;

// 1. Create custom gRPC channel (.NET Framework style)
var channel = new Channel("123.456.7.8:80", ChannelCredentials.SecureSsl);

// 2. (Optional) Add metadata headers if needed
var metadata = new Metadata
{
    { "Authorization", "Bearer your_token_here" }
};

// 3. Configure IronPDF with custom channel
var config = IronPdfConnectionConfiguration.WithCustomChannel(channel, metadata);
IronPdf.Installation.ConnectToIronPdfHost(config);

// 4. Generate PDF
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello world");

// 5. Save the PDF to disk
pdf.SaveAs("output.pdf");

// 6. Clean up , this is needed to work
pdf.Dispose();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPdfEngine を AWS ECS にデプロイする

前提条件

セットアップ

  1. ECS クラスターを作成します。 ECS クラスターをコンソールを使用して Fargate および External 起動タイプのクラスターを作成するためのガイド に従ってください。
  2. タスク定義を作成します。 コンソールを使用してタスク定義を作成するためのガイド に従ってください。

推奨設定:

  • AWS Fargate
  • 最小 1 vCPU と 2 GB の RAM を推奨します。 PDF が 10 ページ以上であるか、重い負荷要求があるワークロードの場合は、より高い層を選択してください。
  • ネットワーク モード: awsvpc
  • ポートマッピング:
    {
      "containerPort": 33350,
      "hostPort": 33350,
      "protocol": "tcp",
      "appProtocol": "grpc"
    }
  • イメージ URI: 任意の IronPdfEngine を指します。 たとえば、"ironsoftwareofficial/ironpdfengine:2024.1.20"(DockerHub から)
  • AWS パーミッションネットワーキングは自己責任で
  • Amazon CloudWatch の有効化を推奨します。 (Enable logging)
  • コンテナの起動順は、同じタスク定義にアプリケーションのコンテナをデプロイしたい場合に必要です。
  1. タスク定義を実行します。 タスク定義を タスク または サービス として実行することができます。 コンソールを使用してサービスを作成するためのガイド に従ってください。

推奨設定:

  • Launch type: AWS Fargate
  • Public IP: Turned on for test and Turned off for production. Security and AWS Networking are on your own.
  1. Enjoy! IronPdfEngine docker is up and running in your AWS!

水平スケーリングはサポートされていません。 詳細はIronPdfEngine Limitationを参照してください。


AzureコンテナインスタンスにIronPdfEngineをデプロイ

前提条件

セットアップ

Azure ポータルを使用してコンテナインスタンスを Azure にデプロイするためのクイックスタートガイドに従ってください。 - イメージソース: 他のレジストリ

推奨設定:

  • イメージ: ironsoftwareofficial/ironpdfengine:2024.1.20(Docker Hub から)
  • OS タイプ: Linux
  • サイズ: 最小で 1 vCPU と 2 GiB のメモリ、またはそれ以上
  • サイズ: 最低1 vCPUおよび2 GiBのメモリ、またはそれ以上
    1. お楽しみください!

IronPdfEngine Docker が Azure コンテナインスタンスで実行されています! ## AWS ECR パブリックギャラリーでの IronPdfEngine を取得する

水平スケーリングはサポートされていません。 詳細はIronPdfEngine Limitationを参照してください。


前提条件

Prerequisite

  • Docker をインストールする必要があります。

セットアップ

  1. https://gallery.ecr.aws/v1m9w8y1/ironpdfengineにアクセスします。
  2. Pull the v1m9w8y1/ironpdfengine image
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine
SHELL

または特定のバージョン(推奨)をプルします。

docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6
SHELL
  1. Run ironpdfengine container.

このコマンドは、コンテナを作成し、ポート 33350 でバックグラウンドで実行します。

docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
SHELL

マーケットプレイスから IronPdfEngine を取得


迅速に開始するのを支援するために、IronPdfEngine を Azure と AWS の両方のマーケットプレイスに設定しました。

Azure マーケットプレイス

Azure Marketplace

Azure Marketplace

Setup

  1. AzureマーケットプレイスのIronPDF Dockerコンテナにアクセスします。 "すぐに取得"と"続行"をクリックします。
  2. "基本情報"、"クラスターの詳細"、および"アプリケーションの詳細"を完成させてKubernetesサービスを作成します。
  3. デプロイが完了したら、左のサイドバーに移動してKubernetesリソース > コマンドを実行を選択します。 次のコマンドを実行します:
kubectl get services
kubectl get services
SHELL
Kubernetesサービス - 実行コマンド

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")
$vbLabelText   $csharpLabel

AWSマーケットプレイス

AWSマーケットプレイス

前提条件

  • Docker をインストールする必要があります。
  • AWS CLIをインストールし、ログインしている必要があります。

Setup

  1. Go to IronPdfEngine on AWS marketplace. 'サブスクライブに進む'をクリックします。

  2. 利用規約に同意します。
EULAを受け入れる
  1. 設定に進みます。
購読完了
  1. ironpdfengineのイメージをプルします。 このステップでは、ironpdfengineのイメージをプルするコマンドが表示されます。
このソフトウェアを起動する
  1. 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
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
SHELL
  1. ironpdfengineコンテナを実行します。 このコマンドは、コンテナを作成し、ポート33350でバックグラウンドで実行します。
docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15
docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15
SHELL

IronPdfEngineのヘルスチェック

Dockerコンテナのヘルスをチェックすることは、本番環境での信頼性と可用性を保証するために重要です。 IronPdfEngineのDockerコンテナをチェックする機能は、開発者がサービスが失敗した場合に再起動し、需要が増加した場合にリソースをスケールすることができるようにすることと、継続的なアプリケーションを監視することを可能にします。

IronPdfEngineのヘルスをチェックするには、同じIronPdfEngineポート(デフォルトでは33350)にgRPCリクエストを送信して、応答が得られるかを確認します。

gRPCによるヘルスチェック

IronPdfEngineは、次のプロトコル構造を利用して、標準のgRPCヘルスチェックパターンに準拠しています。

message HealthCheckRequest {
 string service = 1; // Name of the service to check (e.g., "IronPdfEngine")
}

IronPdfEngineをチェックしているので、サービス名をIronPdfEngineに置き換えます。

デフォルトの33350を使用して、PostmanでローカルIronPdfEngineサービスにgRPCリクエストを送信するJavaScriptの例を以下に示します。

ステータス

応答からわかるように、ステータス応答はSERVINGであり、サービスが稼働していることを示します。 コンテナが健康でない場合、ステータス応答はNOT_SERVINGになります。

Kubernetesセットアップによるヘルスチェック

Kubernetesセットアップの場合、サービスが健康かどうかを確認するために次のコマンドを使用できます。

 livenessProbe:
          exec:
            command:
            - /bin/grpc_health_probe
            - -addr=:33350
            - -rpc-timeout=5s
 livenessProbe:
          exec:
            command:
            - /bin/grpc_health_probe
            - -addr=:33350
            - -rpc-timeout=5s
YAML

よくある質問

Dockerを使用してC#でHTMLをPDFに変換するにはどうすればよいですか?

IronPDF の Docker セットアップを使用して、C# で HTML を PDF に変換できます。 Docker コンテナに IronPdfEngine をデプロイし、RenderHtmlAsPdf などのメソッドを使用して、この変換を実現します。

DockerでIronPdfEngineを使用する利点は何ですか?

DockerでIronPdfEngineを使用すると、事前インストール済みで信頼性のある環境が提供され、依存関係の問題が軽減され、ChromeやPdfiumバイナリなどの必要なコンポーネントがすべて利用可能であることを保証します。

Docker Composeを使用してIronPdfEngineをセットアップするにはどうすればよいですか?

docker-compose.ymlファイルを作成し、サービスとネットワークを定義します。depends_onディレクティブを使用して、IronPdfEngineがアプリケーションよりも先に起動することを確認します。

AWS ECSにIronPdfEngineをデプロイするために必要な手順は何ですか?

AWS ECS にデプロイするには、ECS クラスターを作成し、タスク定義を定義し、リソース割り当てに AWS Fargate を使用します。その後、タスクまたはサービスを実行して IronPdfEngine を起動します。

AWS ECR Public GalleryからIronPdfEngineをプルするにはどうすればよいですか?

AWS ECR Public Gallery にアクセスし、IronPdfEngine イメージを見つけ、提供されているコマンドに従ってコンテナをプルして実行します。

Azure MarketplaceからIronPdfEngineを利用することは可能ですか?

はい、IronPdfEngineはAzure Marketplaceで利用可能です。マーケットプレイスページのセットアップ手順に従って、Dockerコンテナをデプロイできます。

IronPdfEngineを使用する際に注意すべき制限はありますか?

IronPdfEngineは水平スケーリングをサポートしていません。この制限を考慮してデプロイメントを計画し、アプリケーションのニーズに応えることが重要です。

Dockerを使用して効率的にPDF生成と操作タスクを処理するにはどうすればよいですか?

IronPdfEngineをDockerコンテナにデプロイして、PDF生成と操作タスクを効率的に管理し、Dockerの機能を活用して依存関係を処理し、一貫した環境を確保します。

Azure Container InstancesにIronPdfEngineをデプロイするための要件は何ですか?

Azure Container Instances にデプロイするには、Azure アカウントを持っていることを確認し、デプロイ用に IronPdfEngine Docker イメージをプルします。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 16,685,821 | バージョン: 2025.12 リリース