Setting up IronOCR in Docker Containers

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

Vous voulez OCR Images ou fichiers Pdf en C# ?

IronOcr prend désormais entièrement en charge Docker, notamment Azure Docker Containers pour Linux et Windows.

Docker Linux AWS Windows

Pourquoi utiliser Docker?

Docker permet aux développeurs d'emballer, d'expédier et d'exécuter facilement n'importe quelle application sous la forme d'un conteneur léger, portable et autonome, qui peut fonctionner pratiquement n'importe où.

IronOCR et Linux Primer

Si Docker avec .NET est nouveau pour vous, nous vous recommandons cet excellent article sur la configuration du débogage et de l'intégration de Docker avec les projets Visual Studio. https://docs.microsoft.com/en-us/visualstudio/containers/edit-and-refresh?view=vs-2019

Nous vous recommandons également vivement de lire notre Guide de configuration et de compatibilité IronOCR Linux.

Distributions Linux Docker recommandées

Nous recommandons les derniers systèmes d'exploitation Linux 64 bits ci-dessous pour une "configuration facile" d'IronPdf.

  • Ubuntu 20
  • Ubuntu 18
  • Debian 11
  • Debian 10 [Actuellement la distribution Linux par défaut de Microsoft Azure]

Nous recommandons d'utiliser les Official Docker Images de Microsoft. D'autres distributions Linux sont partiellement prises en charge, mais peuvent nécessiter une configuration manuelle à l'aide de apt-get. Voir notre guide "Linux Manual Setup".

Des fichiers Docker fonctionnels pour Ubuntu et Debian sont inclus dans ce document :

Les essentiels de l'installation de Docker sur IronOCR Linux

Utiliser notre package NuGet

Nous recommandons d'utiliser le IronOcr NuGet Package. Elle fonctionne pour le développement sur Windows, macOS et Linux.

Install-Package IronOcr

Ubuntu Linux DockerFiles

Docker Linux Ubuntu

Ubuntu 20 avec .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 avec .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 avec .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 DockerFiles

Docker Linux Debian

Debian 11 avec .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 avec .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 avec .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 avec .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"]

Questions Fréquemment Posées

Comment puis-je déployer des applications OCR C# dans des conteneurs Docker ?

Vous pouvez déployer des applications OCR C# dans des conteneurs Docker en utilisant IronOCR, une bibliothèque OCR C# qui s'intègre à Docker. Vous devrez configurer les conteneurs Docker avec les packages nécessaires tels que apt-utils, libgdiplus, et libc6-dev, et utiliser les images Docker officielles de Microsoft pour des performances optimales.

Quels systèmes d'exploitation sont les meilleurs pour faire fonctionner IronOCR dans Docker ?

Pour faire fonctionner IronOCR dans Docker, il est recommandé d'utiliser les dernières distributions Linux 64 bits telles que Ubuntu 20, Ubuntu 18, Debian 11 et Debian 10, car elles offrent une configuration facile et un support.

Comment configurer IronOCR sur les conteneurs Docker Azure ?

Pour configurer IronOCR sur les conteneurs Docker Azure, vous suivrez les mêmes étapes que pour les autres environnements Docker. Utilisez le package NuGet IronOcr, configurez les distributions Linux recommandées et assurez-vous que toutes les dépendances nécessaires sont incluses dans votre Dockerfile.

Quelles sont les étapes pour configurer IronOCR en utilisant .NET 5 dans Docker ?

Pour configurer IronOCR en utilisant .NET 5 dans Docker, vous devez créer un Dockerfile qui installe le package NuGet IronOcr, ajoute les packages requis tels que apt-utils et libgdiplus, et utilise les images Docker officielles de .NET 5 de Microsoft pour l'image de base.

IronOCR peut-il être utilisé dans les environnements Docker sur Windows ?

Oui, IronOCR peut être utilisé dans les environnements Docker sur Windows. Le processus implique d'utiliser le package NuGet IronOcr et de configurer le Dockerfile pour inclure les dépendances et configurations nécessaires spécifiques aux systèmes d'exploitation Windows.

Quels sont les avantages d'utiliser Docker pour l'hébergement d'applications OCR .NET ?

Utiliser Docker pour l'hébergement d'applications OCR .NET permet un déploiement facile, une meilleure gestion des ressources et une plus grande portabilité entre différents environnements. Les conteneurs Docker sont autonomes, assurant que les applications fonctionnent de manière cohérente, peu importe où elles sont déployées.

Une configuration manuelle est-elle requise pour les distributions Linux non recommandées dans Docker ?

Oui, si vous utilisez des distributions Linux autres que celles recommandées (Ubuntu 20, Ubuntu 18, Debian 11, Debian 10), vous pourriez avoir besoin d'effectuer des configurations manuelles en utilisant apt-get. Des conseils sur la configuration manuelle sont disponibles dans le guide 'Linux Manual Setup' fourni par IronOCR.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 5,044,537 | Version : 2025.11 vient de sortir