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/

注: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
$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

IronPdfEngine のランタイムパラメータはどのように設定しますか?

実行時パラメータは、イメージ名の後に key=value のペアとしてコンテナに直接渡すことができます。 これらは、イメージを再構築することなくエンジンの動作を設定します。

docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine:2025.3.6 \
  license_key="YOUR_LICENSE_KEY" \
  enable_debug=true \
  chrome_browser_limit=8
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine:2025.3.6 \
  license_key="YOUR_LICENSE_KEY" \
  enable_debug=true \
  chrome_browser_limit=8
SHELL

以下のパラメータが利用可能です:

パラメータ タイプ Default 説明
port int 33350 gRPC リスニングポート
license_key string IronPDF ライセンスキー
enable_debug bool false 完全なデバッグログを有効にする
log_path path ログファイルのパス(完全なデバッグログの記録も有効になります)
logging_mode string Console ロギングモード: なし、コンソール、カスタム、DebugOutputWindow、ファイル、すべて
chrome_browser_limit int Chromeブラウザの最大同時起動数
chrome_cache_path path Chromeブラウザのキャッシュ用ディレクトリ
chrome_gpu_mode int 0 GPUモード: 0 無効、1 ハードウェア、2 ハードウェアフル、3 ソフトウェア
chrome_custom_deployment_dir path Chrome 展開用バイナリ用のカスタムディレクトリ
temp_folder_path path 一時ディレクトリを上書きする
skip_shutdown bool false アイドル時にエンジンが停止しないようにする
skip_initialization bool false 起動時のChrome/PDFiumの初期化をスキップする
keep_alive bool false クライアントが切断した後もエンジンを稼働させ続ける
single_process bool Chromeをシングルプロセスモードで実行する
linux_and_docker_auto_config bool true Linux/Dockerの依存関係を自動設定(Dockerのエントリポイントによって自動的に設定されます)
send_anonymous_analytics_and_crash_data bool 匿名テレメトリを有効または無効にする

ご注意linux_and_docker_auto_config パラメータは、Dockerのエントリポイントによって自動的に true に設定されます。 手動で提出する必要はありません。 (ホストがGPUパススルーを提供していない限り、Docker内のchrome_gpu_modeは0(無効)のままにしてください。)]] )}]

また、Docker Compose では、IRONPDF_ENGINE_LICENSE_KEY 環境変数を使用して、-e または environment: 経由でライセンスキーを設定することもできます。 コマンドライン引数と環境変数が両方設定されている場合、コマンドライン引数が優先されます。

翻訳例:

docker run -d --restart=unless-stopped \
  -p 33350:33350 \
  -e IRONPDF_ENGINE_LICENSE_KEY=MY_KEY \
  ironsoftwareofficial/ironpdfengine \
  chrome_browser_limit=8 skip_shutdown=true
docker run -d --restart=unless-stopped \
  -p 33350:33350 \
  -e IRONPDF_ENGINE_LICENSE_KEY=MY_KEY \
  ironsoftwareofficial/ironpdfengine \
  chrome_browser_limit=8 skip_shutdown=true
SHELL

デバッグの例:

docker run -p 33350:33350 \
  ironsoftwareofficial/ironpdfengine \
  enable_debug=true log_path=/app/logs/engine.log
docker run -p 33350:33350 \
  ironsoftwareofficial/ironpdfengine \
  enable_debug=true log_path=/app/logs/engine.log
SHELL

Docker Compose を使用する場合

重要なのは、IronPdfEngineとアプリケーションが相互に通信できるようにするDockerネットワークを設定することです。 アプリケーションの起動前に IronPdfEngine が起動していることを確認するには、'depends_on' を設定してください。

セットアップ

  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を生成するWinFormsの請求書作成アプリケーションが挙げられます。

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

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

カスタム: 接続を完全に制御およびカスタマイズしたい場合は、このオプションを使用できます。 このオプションでは、上記の他の定義済みオプションの代わりに、ユーザーが独自に定義した Grpc.Core.ChannelBase を使用します。 開発者は、新しい Grpc.Core.Channel オブジェクトを作成するか、Grpc.Net.Client.GrpcChannel.ForAddress(System.String) を使用することで、gRPC チャネルを完全に制御し、カスタマイズすることができます。

.NET Framework(NetFrameworkChannel 付き)

.NET Frameworkについては、gRPCの動作が.NET Frameworkプロジェクトでは異なるため、別途設定が必要です。 このメソッドが動作するには、Grpc.Core NuGet パッケージがインストールされていることを確認してください。 この特定の構成では、Grpc.Core.ChannelBase を継承したカスタム gRPC チャネルを使用します。

ここでは、IronPdfEngineを使用してPDFを作成・保存するための接続チャネルを実装する例を見てみましょう。

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