Run IronPDF as a Remote Container

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 をインストールする必要があります。

セットアップ

  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 が稼働していることを確認します。

セットアップ

  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 を作成し保存する例を見てみましょう。

[{t:(.NET Framework プロジェクトで gRPC が異なる方法で動作するため、以下のコードが機能しない場合は、アドレスから <http> または <https> プレフィックスを削除してみてください。)}]

[{w:(この場合、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 の有効化を推奨します。 (ログの有効化)
  • コンテナの起動順は、同じタスク定義にアプリケーションのコンテナをデプロイしたい場合に必要です。
  1. タスク定義を実行します。 タスク定義を タスク または サービス として実行することができます。 コンソールを使用してサービスを作成するためのガイド に従ってください。

推奨設定:

  • 起動タイプ: AWS Fargate
  • 公開 IP: テスト用にはオン、本番用にはオフです。 セキュリティと AWS ネットワーキングは自己責任で。
  1. お楽しみください! IronPdfEngine Docker が AWS で起動し、稼働しています!

[{i:(水平スケーリングはサポートされていません。こちらのIronPdfEngine 制限をご参照ください。)}] ## IronPdfEngine を Azure コンテナインスタンスにデプロイする


  • Azure アカウント

前提条件

セットアップ

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

推奨設定:

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

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

[{i:(水平スケーリングはサポートされていません。こちらのIronPdfEngine 制限をご参照ください。)}] ## IronPdfEngine を Azure コンテナインスタンスにデプロイする


前提条件

  1. https://gallery.ecr.aws/v1m9w8y1/ironpdfengine にアクセスします。
  • Docker をインストールする必要があります。

セットアップ

  1. v1m9w8y1/ironpdfengine イメージをプルします。
  2. ironpdfengine コンテナを実行します。
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

IronPdfEngine を使用するようにコードを更新」セクションに移動して、IronPdf クライアントを設定する方法を学びます。

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

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

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


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

Azure マーケットプレイス

class="content-img-align-center">
class="center-image-wrapper"> [![Azure Marketplace](/static-assets/pdf/how-to/pull-run-ironpdfengine/azure-marketplace.webp)](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/ironsoftwarecoltd1682560478296.ironpdf-docker-container-v1?tab=Overview)
  1. Azure マーケットプレイス の IronPDF Docker Container にアクセスします。

セットアップ

"Get It Now" および "Continue" をクリックします。 2. Kubernetes サービスを作成するために、"Basics"、"Cluster Details"、および "Application Details" を完了します。

  1. デプロイメントが完了したら、左サイドバーをナビゲートして Kubernetes リソース > コマンドの実行を選択します。 以下のコマンドを実行します:
    class="content-img-align-center">
    class="center-image-wrapper"> Kubernetes service - run command
kubectl get services
kubectl get services
SHELL

EXTERNAL-IP と PORT(S) の情報を使用して、IronPDFEngine の接続を適切に設定できます。

AWS マーケットプレイス

: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
class="content-img-align-center">
class="center-image-wrapper"> [![aws marketplace](/static-assets/pdf/how-to/pull-run-ironpdfengine/aws-marketplace.webp)](https://aws.amazon.com/marketplace/pp/prodview-t66wmni5ri7ve?sr=0-1&ref_=beagle&applicationId=AWSMPContessa)

前提条件

セットアップ

'Continue to Subscribe' をクリックします。 3. 規約に同意します。

class="content-img-align-center">
class="center-image-wrapper"> ![Accept EULA](/static-assets/pdf/how-to/pull-run-ironpdfengine/accept-EULA.webp) 4. コンフィギュレーションに進みます。
class="content-img-align-center">
class="center-image-wrapper"> ![Subscribe complete](/static-assets/pdf/how-to/pull-run-ironpdfengine/subscribe-complete.webp) 5. ironpdfengine イメージをプルします。 このステップでは、ironpdfengine イメージをプルするコマンドが表示されます。
class="content-img-align-center">
class="center-image-wrapper"> ![Launch this software](/static-assets/pdf/how-to/pull-run-ironpdfengine/launch-this-software.webp) 例: 6. ironpdfengine コンテナを実行します。 ```shell 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 ``` このコマンドは、コンテナを作成し、ポート 33350 でバックグラウンドで実行します。 このコマンドは、コンテナを作成し、ポート 33350 でバックグラウンドで実行します。. ```shell docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15 ``` Docker コンテナのヘルスを確認することは、プロダクション環境での信頼性と可用性を確保する上で重要です。 IronPdfEngine Docker コンテナをチェックする能力は、開発者がサービスが失敗した場合に再起動し、需要が増加した場合にリソースを拡張し、継続的なアプリケーションを監視することができます。 IronPdfEngine のヘルスを確認するために、同じ IronPdfEngine ポート(デフォルトではポート 33350)に gRPC リクエストを送信して、応答を確認することができます。 ### gRPC を使用したヘルスチェック IronPdfEngine は、以下のプロトコル構造を利用した標準的な gRPC ヘルスチェックパターンに従っています。 IronPdfEngine をチェックしているため、サービス名を `IronPdfEngine` に置き換えます。 ```protobuf message HealthCheckRequest { string service = 1; // Name of the service to check (e.g., "IronPdfEngine") } ``` [Postman](https://www.postman.com) を使用して、デフォルトの番号 33350 を使用してローカルの IronPdfEngine サービスに gRPC リクエストを送信する JavaScript の例を以下に示します。
class="content-img-align-center">
class="center-image-wrapper"> ![Status](/static-assets/pdf/how-to/Ironpdfengine-docker/servicestatus.webp) 応答からわかるように、ステータス応答は SERVING であり、サービスが稼働していることを示しています。 コンテナがヘルシーでない場合、ステータス応答は `NOT_SERVING` になります。 ### Kubernetes セットアップでのヘルスチェック Kubernetes セットアップの場合、サービスがヘルシーかどうかを確認するために次のものを使用できます。 ``` yaml livenessProbe: exec: command: - /bin/grpc_health_probe - -addr=:33350 - -rpc-timeout=5s - -rpc-timeout=5s ```

よくある質問

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
テクニカルライター

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

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

準備はいいですか?
Nuget ダウンロード 16,154,058 | バージョン: 2025.11 ただ今リリースされました