既存のDockerコンテナにIronPDFを追加する

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

IronPDF for .NET Standardは、LinuxおよびWindows用のAzure Docker Containersを含むDockerを完全にサポートするようになりました。

IronPDFを別のDockerコンテナとしてデプロイしますか? 詳細を確認する IronPdfエンジン.

なぜAzureでDockerを使用するのですか?

優れたエンタープライズスケーラビリティに加えて、Azure上のDockerコンテナは通常のWebアプリよりも多くの権限を享受します。

これは、システムがGDI+グラフィックスにアクセスできるようになるため、SVGフォントのレンダリングを可能にします。

IronPDFとLinuxの基本

Dockerと .NET が初めての場合は、この優れた記事をお勧めします。 DockerデバッグとVisual Studioプロジェクトとの統合の設定.

以下もぜひお読みください IronPDF Linuxのセットアップと互換性ガイド

推奨されるLinux Dockerディストリビューション

以下の最新64ビットLinux OSを推奨します。「簡単な構成」のためにIronPDFを使用してください。

  • ウブントゥ 22
  • Ubuntu 20
  • ウブントゥ 18
  • デビアン11

  • デビアン 10 [現在のMicrosoft AzureデフォルトLinuxディストロ]_

    • CentOS 8

(Note: In this context, specific software or version names like CentOS 8 typically remain unchanged in translation).

IronPDF Linux Docker インストール基礎

Linuxに最適化されたNuGetパッケージを使用する

以下の内容を日本語に翻訳してください:

以下のライセンスを使用することをお勧めします。 IronPDF.Linux NuGet パッケージの代わりに通常の IronPDF ディスク容量を節約し、Dockerインスタンスを起動するときにアセットがダウンロードされるのを避けるためのパッケージです。 心配しないでください、WindowsやmacOSでの開発でもちゃんと動作します - ただしLinuxに最適化されています。

Install-Package IronPdf.Linux

別の解決策は、単に追加することです IronPdf.Native.Chrome.Linux レギュラーの上に IronPDF NuGet パッケージ。

Install-Package IronPdf.Native.Chrome.Linux

自動依存関係インストールを避ける

多くのユーザーは、LinuxAndDockerDependenciesAutoConfig を false に設定したときに、Linux および Docker でより良い結果が得られると報告しています。 それは、apt-getスタイルのパッケージマネージャーが既にDockerファイルに必要な前提条件をインストールしているためです。

IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;

GPUアクセラレーションを無効にする

Linux Dockerコンテナは、しばしばGPUへのアクセスを持っていません。 GPUアクセラレーションはデフォルトで無効になっています。 Dockerデプロイメント用には、ChromeGpuModes.Enabledを有効にしている場合、無効にすることを強くお勧めします。

IronPdf.Installation.ChromeGpuMode=IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;

「事前」初期化

オプションで、IronPdf.Installation.Initialize を呼び出すこともできます。()IronPDFを手動で起動するためのメソッド。 Dockerインスタンスが初めてIronPDFを使用する際、前提条件のダウンロードに時間がかかる場合があります。 そのシナリオを回避するために、インスタンスが作成されたときにこのコードを呼び出すことができます:

IronPdf.Installation.Initialize();

Ubuntu Linux Dockerファイル

Ubuntu 22と.NET 8

ユーザーを 'app' から 'root' に変更してください。 これにより、ライブラリに十分な権限が付与されていることが保証されます。 この変更により、IronCefSubprocessに対して「rwx」を設定する必要がなくなります。

Ubuntu 22 と .NET 7

Ubuntu 20 と .NET 6

Ubuntu 20 と .NET 5

Ubuntu 20 と .NET 3.1 LTS

Ubuntu 18 と .NET 3.1 LTS

Debian Linux Dockerファイル

Debian 12 と .NET 8

Debian 11と.NET 7

Debian 11 と .NET 6

Debian 11 と .NET 5

Debian 11 と .NET 3.1 LTS

Debian 10と.NET 5

Debian 10 と .NET 3.1 LTS

Alpine Linux Dockerファイル

Alpine LinuxでIronPDFを実行することはサポートされていません。 できればそうしたいのですが、できません。 率直に言って、私たちはAlpineが好きで、このプロジェクトが存続し、成長し続けることを願っています。 2023年現在、Alpineは依然として時代遅れの「musl」C言語ライブラリを使用しており、これによりChromium開発者はこのOSを完全にサポートすることができていません。

.NET 6でIronPdfEngineを使用するためのAlpine Docker

IronPdfは、すべてのIronPdf機能を含むコンテナイメージを提供します。 これは、Alpine上で実行されているプロジェクトがIronPdfEngineコンテナに接続することでIronPDFの機能にアクセスできるようにします。

ステップ1: IronPdf エンジンドッカーイメージをプルして実行します

以下のコマンドをターミナルで実行して、IronPdfエンジンドッカーイメージをプルして実行してください:

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

ステップ2: コンソールアプリの設定

新しいコンソールアプリケーションを.NET 6をターゲットにして作成してください。

NuGetパッケージマネージャーを使用して、IronPdf.Slim NuGetパッケージをインストールします。

IronPDF ウィンドウズ ドッカー コンテナ

Windows Docker コンテナは、Azure上でますます人気が高まっています。これは、より高いパフォーマンスとスケーラビリティを提供し、開発者にインスタンスを構成するためのより多くの権限を与えるためです。

IronPDFは、実際にDockerコンテナ内でより魅力的なテキストレンダリングを実行します。 (Windows または Linux) Azure上では、グラフィックスライブラリおよび仮想グラフィックスカードへのアクセスレベルが高いためです。

記事「Visual Studio 用 Docker コンテナ ツールは、非常に優れた入門ガイドです。

これは .NET Core 3.1 用の Windows コンテナ Dockerfile の例です

Windows Server 2019 .NET 6.0

IronPdfを実行するために必要なすべての依存関係を含む、事前構成済みのWindowsコンテナ。

次の内容にご注意ください。
これらのコンテナは、.NETアプリケーションをビルドするためのものではなく、実行するためのものです。

FROM mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2019 AS build
WORKDIR /src
COPY ["nuget.config", "."]
COPY ["ConsoleApp/ConsoleApp.csproj", "ConsoleApp/"]
RUN dotnet restore "ConsoleApp/ConsoleApp.csproj"
COPY . .
WORKDIR "/src/ConsoleApp"
RUN dotnet build "ConsoleApp.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "ConsoleApp.csproj" -c Release -o /app/publish /p:UseAppHost=false

FROM ironsoftwareofficial/windows:2019-net60
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "ConsoleApp.dll"]

ウェブサイトに訪問してください Dockerリポジトリ IronPdfを実行するために追加の事前構成済みイメージを探索するには。