既存の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 Engine チュートリアルガイドについて詳しく学ぶ。

Docker V1 related to 既存のDockerコンテナにIronPDFを追加する
Azure 1 related to 既存のDockerコンテナにIronPDFを追加する
Linux V1 related to 既存のDockerコンテナにIronPDFを追加する
Amazon Web Services V1 related to 既存のDockerコンテナにIronPDFを追加する
Windows Logo V1 related to 既存のDockerコンテナにIronPDFを追加する

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

優れた企業規模の拡張性に加えて、Azure 上の Docker コンテナは通常の WebApps よりも多くの権限を享受しました。

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

IronPDFとLinuxの基本

.NETとDockerが初めての方には、Visual StudioプロジェクトでのDockerデバッグと統合のセットアップに関するこの優れた記事をお勧めします。

また、IronPDF Linux セットアップと互換性ガイドを読むことを強くお勧めします。

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

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

  • ウブントゥ 22
  • Ubuntu 20
  • ウブントゥ 18
  • デビアン11
  • Debian 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パッケージを使用する

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

:InstallCmd Install-Package IronPdf.Linux
:InstallCmd Install-Package IronPdf.Linux
SHELL

もう一つの解決策は、通常のIronPdf NuGetパッケージにIronPdf.Native.Chrome.Linuxを単純に追加することです。

:InstallCmd Install-Package IronPdf.Native.Chrome.Linux
:InstallCmd Install-Package IronPdf.Native.Chrome.Linux
SHELL

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

多くのユーザーが、LinuxAndDockerDependenciesAutoConfigをfalseに設定した際にLinux & Dockerでより良い結果を報告しています。 それは、前提条件がすでにDockerファイル内でapt-getスタイルのパッケージマネージャーによってインストールされているからです。

IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
SHELL

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

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

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

「事前」初期化

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

IronPdf.Installation.Initialize();
IronPdf.Installation.Initialize();
SHELL

Ubuntu Linux Dockerファイル

Docker V1 related to Ubuntu Linux Dockerファイル
Ubuntu V1 related to Ubuntu Linux Dockerファイル

Ubuntu 22と.NET 8

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ファイル

Docker V1 related to Debian Linux Dockerファイル
Debian V1 related to 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を実行することはサポートされていません。 できればそうしたいのですが、できません。 率直に言って、私たちはアルパインが好きで、このプロジェクトが継続し、成長することを願っています。 2023年現在、Alpineはまだ時代遅れの "musl "C言語ライブラリを使用しており、Chromium開発者がこのOSを完全にサポートすることはできません。

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

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

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

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

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

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

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

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

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

Docker V1 related to IronPDF ウィンドウズ ドッカー コンテナ
Windows Logo V1 related to IronPDF ウィンドウズ ドッカー コンテナ

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

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

記事 'Visual Studio Container Tools for 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"]
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"]
SHELL

Docker HubのIronSoftwareのDockerリポジトリを訪れて、IronPDFを実行するための追加の事前構成されたイメージを探索してください。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。