Configurando IronBarcode em Contêineres Docker

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

IronBarcode suporta completamente o Docker, incluindo contêineres no Azure e AWS para Linux e Windows.

Docker Azure Linux Amazon 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.

IronBarcode e Introdução ao Linux

Se 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.

Para trabalhar com IronBarcode no Linux, também recomendamos muito que você leia nosso guia de configuração e compatibilidade do IronBarcode para Linux.

Distribuições Linux recomendadas para Docker

Recomendamos usar as seguintes distribuições Linux de 64 bits para o mínimo de inconveniência ao configurar o IronBarcode:

  • Ubuntu ≥18
  • Debian ≥10
  • CentOS ≥7

Recomendamos usar as imagens oficiais Docker da Microsoft. Outras distribuições Linux são suportadas em parte, mas podem exigir configuração manual e instalações de dependências. Veja nosso guia de configuração manual para Linux para mais informações sobre como configurar com Linux.

Essenciais para Instalação do IronBarcode Docker no Linux

Use Nosso Pacote NuGet

Recomendamos que use o Pacote NuGet IronBarCode — ele funciona perfeitamente ao desenvolver em Windows, macOS e Linux.

Install-Package BarCode

Dockerfiles para Ubuntu Linux

Docker Ubuntu

Ubuntu 22 com .NET 7

# Base runtime image (Ubuntu 22 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:7.0-jammy AS base
WORKDIR /app

# Install necessary packages
RUN apt update

# Base development image (Ubuntu 22 with .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:7.0-jammy AS build
WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Ubuntu 22 com .NET 6 (LTS)

# Base runtime image (Ubuntu 22 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:6.0-jammy AS base
WORKDIR /app

# Install necessary packages
RUN apt update

# Base development image (Ubuntu 22 with .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:6.0-jammy AS build
WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Ubuntu 20 com .NET 6 (LTS)

# Base runtime image (Ubuntu 20 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:6.0-focal AS base
WORKDIR /app

# Install necessary packages
RUN apt update

# Base development image (Ubuntu 20 with .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:6.0-focal AS build
WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Ubuntu 20 com .NET 5

# Base runtime image (Ubuntu 20 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:5.0-focal AS base
WORKDIR /app

# Install necessary packages
RUN apt update

# Base development image (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 project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Ubuntu 20 com .NET 3.1 LTS

# Base runtime image (Ubuntu 20 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:3.1-focal AS base
WORKDIR /app

# Install necessary packages
RUN apt update

# Base development image (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 project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Ubuntu 18 com .NET 3.1 LTS

# Base runtime image (Ubuntu 18 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:3.1-bionic AS base
WORKDIR /app

# Install necessary packages
RUN apt update

# Base development image (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 project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

DockerFiles para Debian Linux

Debian 11 com .NET 7

# Base runtime image (Debian 11 with ASP.NET Core Runtime)
FROM mcr.microsoft.com/dotnet/aspnet:7.0-bullseye-slim AS base
WORKDIR /app

# Install necessary packages
RUN apt update

# Base development image (Debian 11 with .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:7.0-bullseye-slim AS build
WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Debian 11 com .NET 6 (LTS)

# Base runtime image (Debian 11 with ASP.NET Core Runtime)
FROM mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim AS base
WORKDIR /app

# Install necessary packages
RUN apt update

# Base development image (Debian 11 with .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:6.0-bullseye-slim AS build
WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Debian 11 com .NET 5

# Base runtime image (Debian 11 with ASP.NET Core Runtime)
FROM mcr.microsoft.com/dotnet/aspnet:5.0-bullseye-slim AS base
WORKDIR /app

# Install necessary packages
RUN apt update

# Base development image (Debian 11 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 project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Debian 11 com .NET 3.1 LTS

# Base runtime image (Debian 11 with ASP.NET Core Runtime)
FROM mcr.microsoft.com/dotnet/aspnet:3.1-bullseye-slim AS base
WORKDIR /app

# Install necessary packages
RUN apt update

# Base development image (Debian 11 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 project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Debian 10 com .NET 5

# Base runtime image (Debian 10 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base
WORKDIR /app

# Install necessary packages
RUN apt update

# Base development image (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 project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Debian 10 com .NET 3.1 LTS

# Base runtime image (Debian 10 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:3.1 AS base
WORKDIR /app

# Install necessary packages
RUN apt update

# Base development image (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 project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

CentOS 7 com .NET 7

# Base runtime image (CentOS 7)
FROM centos:7 as base

# Install necessary packages
RUN rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
RUN yum install -y dotnet-runtime-7.0
WORKDIR /app

# Build SDK image (CentOS 7)
FROM centos:7 as build

# Install necessary packages
RUN rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
RUN yum install -y dotnet-sdk-7.0

WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

CentOS 7 com .NET 6 (LTS)

# Base runtime image (CentOS 7)
FROM centos:7 as base

# Install necessary packages
RUN rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
RUN yum install -y dotnet-runtime-6.0
WORKDIR /app

# Build SDK image (CentOS 7)
FROM centos:7 as build

# Install necessary packages
RUN rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
RUN yum install -y dotnet-sdk-6.0

WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

CentOS 7 com .NET 3.1 LTS

# Base runtime image (CentOS 7)
FROM centos:7 AS base

# Install necessary packages
RUN yum install sudo -y
RUN sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
RUN sudo yum install aspnetcore-runtime-3.1 -y

WORKDIR /app
EXPOSE 80
EXPOSE 443

# Build SDK image (CentOS 7)
FROM centos:7 AS build

# Install necessary packages
RUN yum install sudo -y
RUN sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
RUN sudo yum install dotnet-sdk-3.1 -y

WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Final image to run the app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Perguntas frequentes

Como posso configurar um aplicativo de código de barras no Docker em um sistema Linux?

Para configurar um aplicativo de código de barras no Docker em Linux, você pode usar o IronBarcode. Comece baixando a imagem Docker .NET apropriada, instale o pacote NuGet IronBarcode usando dotnet add package IronBarCode e configure seu Dockerfile para construir e executar seu aplicativo em um contêiner.

Quais distribuições Linux são as melhores para executar o Docker com aplicações de código de barras?

As distribuições Linux recomendadas para executar o Docker com aplicações de código de barras usando o IronBarcode são Ubuntu ≥18, Debian ≥10 e CentOS ≥7, devido à sua facilidade de configuração e estabilidade.

Quais são os benefícios de usar o Docker para aplicações de código de barras?

O uso do Docker para aplicações de código de barras permite a conteinerização, o que torna as aplicações leves, portáteis e consistentes em diferentes ambientes. Isso é particularmente benéfico para a implantação de aplicações em serviços de nuvem como Azure e AWS.

Como posso solucionar problemas de configuração do Docker com bibliotecas de código de barras?

Problemas comuns em configurações do Docker com bibliotecas de código de barras geralmente podem ser resolvidos garantindo que todas as dependências estejam instaladas corretamente e que o Dockerfile esteja configurado adequadamente. O uso das imagens oficiais do Microsoft .NET pode ajudar a agilizar o processo.

Posso executar aplicativos de código de barras em Docker em plataformas de nuvem?

Sim, você pode executar aplicativos de código de barras em contêineres Docker em plataformas de nuvem como Azure e AWS. O IronBarcode oferece suporte a esses ambientes, tanto em Linux quanto em Windows.

Qual é o processo para instalar a biblioteca de código de barras em um contêiner Docker?

Instale a biblioteca IronBarcode em um contêiner Docker adicionando o pacote NuGet IronBarCode ao seu projeto .NET usando dotnet add package IronBarCode durante o processo de instalação do Docker.

Como posso garantir a compatibilidade de aplicativos de código de barras em diferentes ambientes?

Para garantir a compatibilidade em diferentes ambientes, use o Docker para conteinerizar seu aplicativo de código de barras e gerenciar as dependências por meio do pacote NuGet IronBarCode. Essa abordagem proporciona um ambiente consistente para seu aplicativo.

Quais versões do .NET são recomendadas para criar imagens Docker para aplicações de código de barras?

Para maior estabilidade na criação de imagens Docker para aplicações de código de barras, recomenda-se o uso de versões LTS do .NET, como o .NET 6 ou 3.1. No entanto, o uso da versão mais recente, como o .NET 7, pode fornecer acesso aos recursos mais recentes.

O IronBarcode é compatível com o .NET 10 e posso usá-lo em um contêiner Docker no Linux com o .NET 10?

Sim. O IronBarcode é compatível com o .NET 10 — além do .NET 9, 8, 7, 6, 5, .NET Core, .NET Standard e .NET Framework 4.6.2+ — e funciona em contêineres Docker no Linux. ([ironsoftware.com](https://ironsoftware.com/csharp/barcode/features/compatibility/?utm_source=openai))

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 2,108,094 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package BarCode
executar um exemplo Veja seu fio se transformar em um código de barras.