Запуск приложения с FastReport .NET в Docker под Linux

17.11.2021

Docker – это программная платформа для быстрой разработки, тестирования и развертывания приложений. Благодаря нему мы можем на одном сервере разместить множество контейнеров. Под контейнерами понимается совокупность нашего приложения, его зависимостей и образа. Не забываем, что образ - это шаблон, который представляет из себя некий слепок файловой системы. Освежили память некоторыми терминами, теперь можно и поговорить о том, как поднять FastReport.Core + FastReport.Web в нашем собственном контейнере.

Для начала нам понадобиться установить сам Docker на любой дистрибутив Linux, в нашем случае это будет Ubuntu 20.04. Об установке Docker на Linux вы можете прочитать в этой статье. После установки и проверки переходим к следующему шагу.

Сейчас нам нужно создать DockerFile. Он представляет из себя обычный текстовый документ, содержащий все команды для сборки образа. Создавать и редактировать этот файл можно как в обычном текстовом редакторе, так и в том же VS code. Кстати, в VS code есть удобный плагин docker, благодаря чему написание и редактирование немного упрощается.

Пример 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"]
 

Этот докер файл разворачивает образ Demo приложения FastReport.Core.Web21.MVC, в котором используется FastReport.Web и FastReport.Core. Пощупать его самостоятельно вы можете по следующей ссылке, либо при скачивании FastReport.NET найдите директорию Demos\Core\FastReport.Core.Web21.MVC.

После написания DockerFile его непременно нужно собрать. Делается это очень просто. Запускаем терминал из директории, в которой находится DockerFile и вписываем в него команду:

sudo docker build

После успешной сборки нужно развернуть контейнер с помощью команды: 

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

В этой команде мы пробрасываем порт 8080 и даем название образу “build/fastreport”.

После успешного старта контейнера открываем http://localhost:8080/. Затем переходим на страницу своего приложения, если были выполнены и решены все зависимости, то перед нами предстанет ваш проект:

Готовый проект

Подытожим. Docker производит развертывание буквально с помощью двух команд, а контейнеры занимают намного меньше места, чем образы виртуальных машин, что дает нам большую экономию места и времени.

Core FastReport Libgdiplus Linux .NET Ubuntu
16 октября 2026

Новые возможности .NET 11: обзор C# 15, EF Core 11, ASP.NET Core и производительности

Обзор .NET 11: C# 15, union-типы, новая модель безопасности памяти, Windows Forms, EF Core 11, ASP.NET Core и Blazor, ускорение Runtime и NativeAOT.
12 октября 2026

Как закрепить строки и столбцы при экспорте в FastReport .NET

Узнайте, как закрепить строки и столбцы при экспорте отчетов из FastReport .NET в OpenOffice Calc и Excel для удобного просмотра больших таблиц.
12 октября 2026

Как экспортировать отчёт из FastReport .NET в доступный PDF (PDF/UA-1)

Как экспортировать отчёт из FastReport .NET в доступный PDF/UA-1: настройка через интерфейс и код на C#, роли SemanticRole, AltText и проверка валидаторами.

Не является публичной офертой
© 1998-2026 ООО «Быстрые отчеты»