DockerコンテナでIronOCRを設定する
C# で画像や PDF ファイルを OCR したいですか?
IronOCR は、Linux および Windows 用の Azure Docker コンテナーを含む Docker を完全にサポートするようになりました。
![]()
なぜDockerを使用するのか?
Dockerは、開発者があらゆるアプリケーションを軽量で持ち運び可能かつ自己完結型のコンテナとして簡単にパッケージングし、出荷し、実行できるようにし、ほぼどこでも動作可能です。
IronOCRとLinux入門
Dockerと.NETが初めての方には、Visual StudioプロジェクトとのDockerデバッグと統合のセットアップに関するこの素晴らしい記事をお勧めします。 https://docs.microsoft.com/en-us/visualstudio/containers/edit-and-refresh?view=vs-2019
また、 IronOCR Linux セットアップおよび互換性ガイドを読むことを強くお勧めします。
推奨Linux Dockerディストリビューション
IronPDFの"簡単な構成"のため、以下の最新の64ビットLinux OSをお勧めします。
- Ubuntu 20
- Ubuntu 18
- Debian 11
- Debian 10 [現在のMicrosoft AzureデフォルトLinuxディストリビューション]
Microsoftの公式Dockerイメージを使用することをお勧めします。 他のLinuxディストリビューションも一部サポートされていますが、apt-getを使用した手動設定が必要な場合があります。 " Linux 手動セットアップ"ガイドを参照してください。
UbuntuおよびDebian用の動作するDockerファイルはこのドキュメントに含まれています。
IronOCR Linux Docker インストールの基本
弊社のNuGetパッケージを使用する
IronOCR NuGetパッケージの使用を推奨します。 これは、Windows、macOS、およびLinuxで開発する際に動作します。
Install-Package IronOcr
Ubuntu Linux Dockerファイル
![]()
Ubuntu 20 with .NET 5
# Use the base runtime image for Ubuntu 20 with .NET runtime
FROM mcr.microsoft.com/dotnet/runtime:5.0-focal AS base
WORKDIR /app
# Install necessary packages
RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
# Use the base development image for Ubuntu 20 with .NET SDK
FROM mcr.microsoft.com/dotnet/sdk:5.0-focal AS build
WORKDIR /src
# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# Build the project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
# Publish the project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
# Run the application
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]Ubuntu 20 with .NET 3.1 LTS
# Use the base runtime image for Ubuntu 20 with .NET runtime
FROM mcr.microsoft.com/dotnet/runtime:3.1-focal AS base
WORKDIR /app
# Install necessary packages
RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
# Use the base development image for Ubuntu 20 with .NET SDK
FROM mcr.microsoft.com/dotnet/sdk:3.1-focal AS build
WORKDIR /src
# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# Build the project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
# Publish the project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
# Run the application
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]Ubuntu 18 with .NET 3.1 LTS
# Use the base runtime image for Ubuntu 18 with .NET runtime
FROM mcr.microsoft.com/dotnet/runtime:3.1-bionic AS base
WORKDIR /app
# Install necessary packages
RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
# Use the base development image for Ubuntu 18 with .NET SDK
FROM mcr.microsoft.com/dotnet/sdk:3.1-bionic AS build
WORKDIR /src
# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# Build the project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
# Publish the project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
# Run the application
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]Debian Linux Dockerファイル
![]()
Debian 11 with .NET 5
# Use the base runtime image for Debian 10 with .NET runtime
FROM mcr.microsoft.com/dotnet/aspnet:5.0-bullseye-slim AS base
WORKDIR /app
# Install necessary packages
RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
# Use the base development image for Debian 10 with .NET SDK
FROM mcr.microsoft.com/dotnet/sdk:5.0-bullseye-slim AS build
WORKDIR /src
# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# Build the project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
# Publish the project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
# Run the application
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]Debian 11 with .NET 3.1 LTS
# Use the base runtime image for Debian 10 with .NET runtime
FROM mcr.microsoft.com/dotnet/aspnet:3.1-bullseye-slim AS base
WORKDIR /app
# Install necessary packages
RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
# Use the base development image for Debian 10 with .NET SDK
FROM mcr.microsoft.com/dotnet/sdk:3.1-bullseye-slim AS build
WORKDIR /src
# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# Build the project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
# Publish the project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
# Run the application
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]Debian 10 with .NET 5
# Use the base runtime image for Debian 10 with .NET runtime
FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base
WORKDIR /app
# Install necessary packages
RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
# Use the base development image for Debian 10 with .NET SDK
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# Build the project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
# Publish the project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
# Run the application
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]Debian 10 with .NET 3.1 LTS
# Use the base runtime image for Debian 10 with .NET runtime
FROM mcr.microsoft.com/dotnet/runtime:3.1 AS base
WORKDIR /app
# Install necessary packages
RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
# Use the base development image for Debian 10 with .NET SDK
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# Build the project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
# Publish the project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
# Run the application
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]よくある質問
C# OCRアプリケーションをDockerコンテナで展開するにはどうすればよいですか?
IronOCRというC# OCRライブラリを使用すると、DockerコンテナにC# OCRアプリケーションを展開できます。必要なパッケージ apt-utils, libgdiplus, libc6-dev などを用意し、Microsoftの公式Dockerイメージを使用して最適なパフォーマンスを実現します。
DockerでIronOCRを実行するのに最適なオペレーティングシステムはどれですか?
DockerでIronOCRを実行する場合、最新の64ビットLinuxディストリビューション(Ubuntu 20, Ubuntu 18, Debian 11, Debian 10)を使用することをお勧めします。これらは簡単な設定とサポートを提供します。
Azure DockerコンテナでIronOCRを設定するにはどうすればよいですか?
Azure DockerコンテナでIronOCRを設定するには、他のDocker環境と同じ手順に従います。IronOcr NuGetパッケージを使用し、推奨されるLinuxディストリビューションを設定し、Dockerfileに必要な依存関係が含まれていることを確認します。
Dockerで.NET 5を使用してIronOCRをセットアップする手順はありますか?
Dockerで.NET 5を使用してIronOCRをセットアップするには、IronOcr NuGetパッケージをインストールし、apt-utilsやlibgdiplusのような必要なパッケージを追加し、Microsoftの公式.NET 5 Dockerイメージを基本イメージとして使用するDockerfileを作成します。
Docker環境でIronOCRをWindowsで使用できますか?
はい、IronOCRをWindowsのDocker環境で使用することができます。IronOcr NuGetパッケージを使用し、Windowsオペレーティングシステム特有の依存関係と設定を含むようにDockerfileを構成します。
Dockerを使用することで.NET OCRアプリケーションをホスティングする利点は何ですか?
Dockerを使用して.NET OCRアプリケーションをホスティングすることで、簡単なデプロイ、より良いリソース管理、異なる環境間での移植性の向上を実現できます。Dockerコンテナは自給自足であり、どこでデプロイされてもアプリケーションが一貫して動作することを保証します。
Dockerでの非推奨Linuxディストリビューションでは手動設定が必要ですか?
はい、推奨されるもの以外のLinuxディストリビューションを使用している場合 (Ubuntu 20, Ubuntu 18, Debian 11, Debian 10)、apt-getを使用して手動設定を行う必要があるかもしれません。手動設定のガイダンスは、IronOCRの『Linux Manual Setup』ガイドにあります。






