Konfiguracja IronOCR w kontenerach Docker
Chcesz przetwarzać obrazy lub pliki Pdf w C# za pomocą OCR?
IronOCR teraz w pełni obsługuje Docker, w tym kontenery Docker na platformie Azure dla systemów Linux i Windows.
![]()
Dłączego warto korzystać z Docker?
Docker umożliwia programistom łatwe pakowanie, dostarczanie i uruchamianie dowolnej aplikacji jako lekkiego, przenośnego i samowystarczalnego kontenera, który może działać praktycznie wszędzie.
IronOCR i wprowadzenie do Linuxa
Jeśli Docker z .NET jest dla Ciebie nowością, polecamy doskonały artykuł o konfigurowaniu debugowania Docker i integracji z projektami Visual Studio. https://docs.microsoft.com/en-us/visualstudio/containers/edit-and-refresh?view=vs-2019
Zalecamy również przeczytanie naszego Przewodnika po konfiguracji i zgodności IronOCR z Linuxem.
Zalecane dystrybucje Linux Docker
Zalecamy najnowsze 64-bitowe systemy Linux, wymienione poniżej, dla 'łatwej konfiguracji' IronPDF.
- Ubuntu 20
- Ubuntu 18
- Debian 11
- Debian 10 [Obecnie domyślna dystrybucja Linux Microsoft Azure]
Polecamy użycie Oficjalnych Obrazów Docker Microsoft. Inne dystrybucje Linuksa są częściowo obsługiwane, ale mogą wymagać ręcznej konfiguracji przy użyciu apt-get. Zobacz nasz przewodnik "Ręczna konfiguracja Linuxa".
Działające pliki Docker dla Ubuntu i Debian są zawarte w tym dokumencie:
Podstawy instalacji IronOCR na Dockerze w Linuxie
Skorzystaj z naszego pakietu NuGet
Zalecamy użycie pakietu NuGet IronOCR. Działa podczas tworzenia aplikacji na Windows, macOS i Linux.
Install-Package IronOcr
Pliki Docker dla Linux Ubuntu
![]()
Ubuntu 20 z .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 z .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 z .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"]
Pliki Docker dla Debian Linux
![]()
Debian 11 z .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 z .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 z .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 z .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"]Często Zadawane Pytania
Jak mogę wdrożyć aplikacje OCR w C# w kontenerach Docker?
Możesz wdrożyć aplikacje OCR w C# w kontenerach Docker używając IronOCR, biblioteki OCR w C# integrującej się z Docker. Musisz skonfigurować kontenery Docker z niezbędnymi pakietami, takimi jak apt-utils, libgdiplus i libc6-dev, i używać oficjalnych obrazów Docker firmy Microsoft dla optymalnej wydajności.
Które systemy operacyjne są najlepsze do uruchamiania IronOCR w Docker?
Do uruchamiania IronOCR w Docker zaleca się użycie najnowszych 64-bitowych dystrybucji Linux takich jak Ubuntu 20, Ubuntu 18, Debian 11 i Debian 10, ponieważ oferują łatwą konfigurację i wsparcie.
Jak skonfigurować IronOCR na kontenerach Docker w Azure?
Aby skonfigurować IronOCR na kontenerach Docker w Azure, należy postępować według tych samych kroków, co dla innych środowisk Docker. Użyj pakietu NuGet IronOcr, skonfiguruj rekomendowane dystrybucje Linux i upewnij się, że wszystkie niezbędne zależności są uwzględnione w twoim Dockerfile.
Jakie są kroki konfiguracji IronOCR w Dockerze używając .NET 5?
Aby skonfigurować IronOCR w Dockerze używając .NET 5, musisz stworzyć Dockerfile, który instaluje pakiet NuGet IronOcr, dodaje wymagane pakiety takie jak apt-utils i libgdiplus, i używa oficjalnych obrazów Docker .NET 5 firmy Microsoft jako obrazu bazowego.
Czy IronOCR może być używany w środowiskach Docker na Windows?
Tak, IronOCR może być używany w środowiskach Docker na Windows. Proces obejmuje użycie pakietu NuGet IronOcr i skonfigurowanie Dockerfile do uwzględnienia niezbędnych zależności i konfiguracji specyficznych dla systemów operacyjnych Windows.
Jakie są korzyści z użycia Docker do hostowania aplikacji OCR .NET?
Użycie Docker do hostowania aplikacji OCR .NET umożliwia łatwe wdrożenie, lepsze zarządzanie zasobami i większą przenośność w różnych środowiskach. Kontenery Docker są samowystarczalne, co zapewnia, że aplikacje działają w sposób spójny, niezależnie od miejsca wdrożenia.
Czy wymagana jest ręczna konfiguracja dla nierekomendowanych dystrybucji Linux w Docker?
Tak, jeśli używasz innych dystrybucji Linux niż rekomendowane (Ubuntu 20, Ubuntu 18, Debian 11, Debian 10), może być konieczna ręczna konfiguracja za pomocą apt-get. Przewodnik po ręcznej konfiguracji jest dostępny w przewodniku 'Linux Manual Setup' dostarczonym przez IronOCR.
Czy IronOCR oferuje jakieś funkcje przetwarzania wstępnego obrazów?
IronOCR zawiera funkcje przetwarzania wstępnego obrazów, aby zwiększyć dokładność OCR, takie jak redukcja szumów, korekcja rotacji i dostosowanie kontrastu.
Czy IronOCR może być używany w aplikacjach chmury?
Istotnie, IronOCR może być wdrożony w środowiskach chmurowych, co czyni go odpowiednim dla aplikacji webowych i usług wymagających funkcji OCR.
Jak mogę poprawić dokładność wyników OCR z IronOCR?
Aby poprawić dokładność OCR w IronOCR, zapewnij wysokiej jakości obrazy wejściowe, używaj odpowiednich pakietów językowych i wykorzystuj funkcje przetwarzania wstępnego obrazów biblioteki.

