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

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

IronPdfEngineは、PDFの作成、書き込み、編集、読み取りを処理できるスタンドアロンのサービスです。 IronPDF Dockerは、互換性のあるバージョンのIronPDFを使用して、Dockerサービスを実行する準備ができています。(バージョン2023.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/

注: IronPdfIronPdf.Linux、およびIronPdf.MacOsパッケージにはすべてIronPdf.Slimが含まれています。

アプリケーションのサイズを削減するために、IronPdf.Slim のインストールをお勧めします。 IronPdf.Native.Chrome.xxx パッケージはもう使用されていないため、プロジェクトから削除しても構いません。

必要なコンテナバージョンを決定する

デフォルトでは、IronPDF for Dockerバージョンは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#

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:2023.12.6
  1. 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を使用して

キーは、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. アプリケーション内でIronPdfエンジンのアドレスを設定する(マイコンソールアプリ)"myironpdfengine:33350" へ

  2. 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")
VB   C#

AWS ECSにIronPdfEngineをデプロイする

前提条件

セットアップ

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

  2. タスク定義を作成する。 このガイドに従ってくださいコンソールを使ってタスク定義を作成する.

    推奨設定:

    • AWS Fargate (AWSファーゲート)
    • 最低1つのvCPUと2GBのRAMが推奨されます。 ご利用のワークロードによっては、ページ数が10ページ以上のPDFを扱う場合や高負荷のリクエストが発生する場合には、より高いプランを選択してください。
    • ネットワークモード: 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ネットワーキングは自己責任で行う必要があります。
  2. お楽しみください! IronPdfEngine Dockerは、AWSで稼働しています!

    次の内容にご注意ください。
    水平スケーリングはサポートされていません。 情報文を日本語に翻訳しますね:

以下をご参照くださいIronPdfEngineの制限詳細については。