IronPdf.Linuxの実行:セットアップガイド
Linux用IronPDFのサイズは約280MBです。(IronPdfコードとChromeブラウザ全体を含む). Dockerイメージは約500MBです。
Chromeはまた、あなたのLinuxディストリビューションに基づいて異なるいくつかの基本的なパッケージを必要とします。 ほとんどのLinuxディストリビューションには、これらのパッケージがすでにインストールされています。これらはLinux上のさまざまなアプリケーションやライブラリで使用されているためです。
しかし、最小構成のディストリビューションを使用している場合、Linux上でChromeを実行するために必要なLinuxパッケージをインストールする必要があります。
注: デバッグを容易にするために、以下を設定できます:
IronPdf.Logging.Logger.EnableDebugging = true;
IronPdf.Logging.Logger.LogFilePath = "Default.log";
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
IronPdf.Logging.Logger.EnableDebugging = true;
IronPdf.Logging.Logger.LogFilePath = "Default.log";
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
IronPdf.Logging.Logger.EnableDebugging = True
IronPdf.Logging.Logger.LogFilePath = "Default.log"
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All
小さなDockerイメージの作成方法
実行時にパッケージをインストールする
サイズを削減する方法の一つは、dockerイメージのビルド時ではなく、実行時に apt-get
コマンドを実行することです。
-
Dockerfileから
apt-get
コマンドを削除してください。 -
ドキュメントを初期化またはレンダリングする前に、
Installation.LinuxAndDockerDependenciesAutoConfig = true;
を設定してください。 -
アプリケーションが
apt-get
コマンドを実行するのに十分な権限で実行されていることを確認してください。注意: 初回の初期化は
apt-get
コマンドが完了して最初のドキュメントがレンダリングされるまで遅くなります。このプロセスは、イメージを再デプロイするたびに繰り返されます。注: パッケージのインストールが成功したことを示すコンソール/ログエントリが表示されるはずです:
Executing command 'apt install -y libnss3' in '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
libnspr4
The following NEW packages will be installed:
libnspr4 libnss3
0 upgraded, 2 newly installed, 0 to remove and 9 not upgraded.
2. IronPDF.Slimを使用する
実行時に必要なファイルをダウンロードし、IronPDF.dll のみを含めることも選択できます。
-
IronPdf.Linux を削除する(およびその他のIronPDF)nuget パッケージ(s)プロジェクトから、IronPdf.Slimを追加してください。
-
初期化またはドキュメントをレンダリングする前に、次のコードを設定してください:
Installation.AutomaticallyDownloadNativeBinaries = true;
-
ドッカーファイルがアプリケーションの作業ディレクトリ全体に対して読み取りおよび書き込み権限を付与することを確認してください。(例えば、
RUN chmod +rwx /app/runtimes/linux-x64/native/IronCefSubprocess
をRUN chmod +rwx /app/
に変更します。)注意:初回の初期化は、nugetパッケージのダウンロードと抽出が行われて最初のドキュメントがレンダリングされる前に、通常よりも遅くなります。また、このプロセスはイメージを再デプロイするたびに繰り返されます。
注意: ダウンロードと抽出の成功を示すコンソール/ログのエントリが表示されるはずです:
Downloading NuGet package from 'https://www.nuget.org/api/v2/package/IronPdf.Native.Chrome.Linux/2023.1.11387'
Extracting package contents '/app/bin/Debug/netcoreapp3.1/IronPdf.Native.Chrome.Linux.2023.1.11387.nupkg/runtimes/linux-x64/native' to '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Successfully deployed NuGet package 'IronPdf.Native.Chrome.Linux' to '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Successfully located 'IronInterop' at '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
結論
要約すると、初期コンテナサイズを減らすために:
- IronPdf.Slim NuGetパッケージを使用してください。
- IronPdfの設定
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.AutomaticallyDownloadNativeBinaries = true;
-
アプリケーションディレクトリが書き込み可能/実行可能であることを確認してください
「RUN chmod +rwx /app/」
ポイント1と2の両方を利用する非常にスリムなDockerイメージは、サイズを約500MBから約200MBに削減するはずです。
可能であれば、軽量なデプロイメントを選択しない場合、最高のパフォーマンスが期待できるでしょう。
一部のコンテナ化およびクラウド環境は 永続的でない ため、たまに依存関係を再ダウンロードしたり、
apt-get
コマンドを再実行したりする必要があり、数分かかることがあります。!しかし、一部の開発者は、デプロイメントに関して厳しいサイズ要件の対象となる可能性があることを理解しています。