Configurando o IronOCR em Contêineres Docker

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

Quer Realizar OCR em Imagens ou Arquivos Pdf em C#?

O IronOCR agora oferece suporte total ao Docker, incluindo Contêineres Docker do Azure para Linux e Windows.

Docker Linux AWS Windows

Por que usar Docker?

Docker permite que os desenvolvedores empacotem, enviem e executem facilmente qualquer aplicação como um contêiner leve, portátil e autossuficiente, que pode ser executado virtualmente em qualquer lugar.

IronOCR e Introdução ao Linux

Se o Docker com .NET é novo para você, recomendamos este excelente artigo sobre como configurar a depuração e integração do Docker com projetos do Visual Studio. https://docs.microsoft.com/en-us/visualstudio/containers/edit-and-refresh?view=vs-2019

Também recomendamos fortemente que você leia nosso Guia de Configuração e Compatibilidade do IronOCR para Linux.

Distribuições Linux recomendadas para Docker

Recomendamos os sistemas operacionais Linux de 64 bits mais recentes listados abaixo para uma "configuração fácil" do IronPDF.

  • Ubuntu 20
  • Ubuntu 18
  • Debian 11
  • Debian 10 [Atualmente o padrão Linux do Microsoft Azure]

Recomendamos usar as Imagens Docker Oficiais da Microsoft. Outras distribuições Linux são suportadas em parte, mas podem exigir configuração manual usando apt-get. Veja nosso guia de "Configuração Manual do Linux".

Arquivos Docker funcionais para Ubuntu e Debian estão incluídos neste documento:

Essenciais de Instalação do Docker para Linux do IronOCR

Use Nosso Pacote NuGet

Recomendamos usar o Pacote NuGet IronOcr. Ele funciona ao desenvolver no Windows, macOS e Linux.

Install-Package IronOcr

Files Docker do Ubuntu Linux

Docker Linux Ubuntu

Ubuntu 20 com .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 com .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 com .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"]

DockerFiles para Debian Linux

Docker Linux Debian

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

Perguntas frequentes

Como posso implantar aplicativos OCR em C# em contêineres Docker?

Você pode implantar aplicativos OCR em C# em contêineres Docker usando o IronOCR, uma biblioteca OCR em C# que se integra ao Docker. Será necessário configurar os contêineres Docker com os pacotes necessários, como apt-utils , libgdiplus e libc6-dev , e usar as imagens Docker oficiais da Microsoft para obter o melhor desempenho.

Quais sistemas operacionais são os melhores para executar o IronOCR no Docker?

Para executar o IronOCR no Docker, recomenda-se o uso das distribuições Linux de 64 bits mais recentes, como Ubuntu 20, Ubuntu 18, Debian 11 e Debian 10, pois elas oferecem configuração e suporte fáceis.

Como configuro o IronOCR em contêineres Docker do Azure?

Para configurar o IronOCR em contêineres Docker do Azure, siga os mesmos passos que para outros ambientes Docker. Utilize o pacote NuGet do IronOCR, configure as distribuições Linux recomendadas e certifique-se de que todas as dependências necessárias estejam incluídas no seu Dockerfile.

Quais são os passos para configurar o IronOCR usando .NET 5 no Docker?

Para configurar o IronOCR usando o .NET 5 no Docker, você precisa criar um Dockerfile que instale o pacote NuGet do IronOcr, adicione pacotes necessários como apt-utils e libgdiplus e use as imagens oficiais do Docker do .NET 5 da Microsoft como imagem base.

O IronOCR pode ser usado em ambientes Docker no Windows?

Sim, o IronOCR pode ser usado em ambientes Docker no Windows. O processo envolve o uso do pacote NuGet IronOcr e a configuração do Dockerfile para incluir as dependências e configurações necessárias específicas para sistemas operacionais Windows.

Quais são os benefícios de usar o Docker para hospedar aplicativos OCR .NET?

Utilizar o Docker para hospedar aplicações OCR .NET permite uma implantação fácil, melhor gerenciamento de recursos e maior portabilidade em diferentes ambientes. Os contêineres Docker são autossuficientes, garantindo que as aplicações sejam executadas de forma consistente, independentemente de onde estejam implantadas.

É necessário configurar manualmente distribuições Linux não recomendadas no Docker?

Sim, se você estiver usando distribuições Linux diferentes das recomendadas (Ubuntu 20, Ubuntu 18, Debian 11, Debian 10), talvez precise realizar configurações manuais usando apt-get . Instruções para configuração manual estão disponíveis no guia "Configuração Manual do Linux" fornecido pela IronOCR.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 5,525,971 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronOcr
executar um exemplo Veja sua imagem se transformar em texto pesquisável.