Como executar um aplicativo com FastReport .NET no Docker sob Linux

2021-11-17

Docker é uma plataforma de software para desenvolvimento rápido, testes e implantação de aplicativos. Com ele, podemos colocar múltiplos containers em um único servidor. Os containers são a combinação de nosso aplicativo, suas dependências e uma imagem. Tenha em mente que uma imagem é um modelo, que é uma espécie de padrão de um sistema de arquivo. Agora, depois de refrescar nossa memória com alguns termos, podemos falar sobre como ter FastReport.Core + FastReport.Web em nosso próprio container.

Primeiro precisamos instalar o próprio Docker em qualquer distribuição Linux, em nosso caso Ubuntu 20.04. Para instalar o Docker no Linux você pode ler esse artigo. Após a instalação e verificação, passe para o próximo passo.

Agora precisamos criar um DockerFile. É um documento de texto simples contendo todos os comandos para construir a imagem. Você pode criar e editar este arquivo ou em um editor de texto regular ou no mesmo código VS. A propósito, o código VS tem um prático plugin de docker, o que facilita um pouco a escrita e a edição.

Exemplo de DockerFile:

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
 
RUN ln -s /lib/x86_64-linux-gnu/libdl-2.24.so /lib/x86_64-linux-gnu/libdl.so
RUN apt-get update \
 && apt-get install -y --allow-unauthenticated \
 libc6-dev \
 libgdiplus \
 libx11-dev \
 && rm -rf /var/lib/apt/lists/*
ENV DISPLAY :99
 
FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY ["fastreport_net", "FastReport.Net"]
RUN dotnet restore "FastReport.Net/Demos/Core/FastReport.Core.Web21.MVC/FastReport.Core.Web21.MVC.csproj"
COPY . .
WORKDIR "/src/FastReport.Net/Demos/Core/FastReport.Core.Web21.MVC"
RUN dotnet build "FastReport.Core.Web21.MVC.csproj" -c Release -o /app
 
FROM build AS publish
RUN dotnet publish "FastReport.Core.Web21.MVC.csproj" -c Release -o /app
 
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "FastReport.Core.Web21.MVC.dll"]
 

Este arquivo de docker distribui a imagem Demo do aplicativo FastReport.Core.Web21.MVC que usa FastReport.Web e FastReport.Core. Você pode apalpá-lo no link a seguir, ou ao baixar FastReport.NET encontre o diretório Demos\Core\FastReport.Core.Core.Web21.MVC.

Uma vez que o DockerFile tenha sido escrito, é indispensável construí-lo. Isto é muito fácil de fazer. Lance o terminal a partir do diretório onde está localizado o DockerFile e digite no mesmo o comando: 

sudo docker build

Depois de construir com sucesso, o container deve ser colocado utilizando o comando: 

sudo docker run -d -p 8080:80 build/fastreport 

Neste comando, encaminhamos a porta 8080 e nomeamos a imagem "build/fastreport".

Após um início bem sucedido do container, abra http://localhost:8080/. Em seguida, vá para a página do seu aplicativo; se todas as dependências tiverem sido executadas e resolvidas, seu projeto aparecerá diante de nós:

Projeto finalizado

Para resumir. O Docker é distribuído com literalmente dois comandos, e os containers ocupam muito menos espaço do que as imagens de máquinas virtuais, o que nos dá uma grande poupança de espaço e tempo.

.NET FastReport Linux Core Libgdiplus Ubuntu .NET FastReport Linux Core Libgdiplus Ubuntu
12 de julho de 2022

Como mostrar múltiplos relatórios em uma página no Blazor

Trabalho a partir do Código do aplicativo Blazor para exibir simultaneamente vários relatórios com filtragem de dados de acordo com a condição do Usuário.
06 de julho de 2022

Como importar um relatório do StimulSoft para o FastReport.NET

O FastReport. net adicionou um plug-in de importação de relatórios do StimulSoft que converte automaticamente seus documentos em um formato .frx.
25 de maio de 2022

Geração de relatórios com PostgreSQL em um aplicativo .NET 5 com Debian 10

Exemplo de um relatório com código baseado na biblioteca FastReport.Núcleo usando bancos de dados SQL no sistema operacional Debian 10.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.