Запуск приложения с 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 производит развертывание буквально с помощью двух команд, а контейнеры занимают намного меньше места, чем образы виртуальных машин, что дает нам большую экономию места и времени.

.NET FastReport Linux Core Libgdiplus Ubuntu
8 апреля 2026

Новые возможности работы с бэндами в дизайнере FastReport .NET

В версии 2026.2 FastReport .NET появилась возможность изменять порядок бэндов прямо в дизайнере — простым перетаскиванием мышью.
7 апреля 2026

Как подключить плагин к Google Sheets в FastReport .NET

В этой статье рассмотрим, как начать работу с Google Sheets в FastReport .NET. Вы узнаете, как настроить доступ к API через Google Cloud Console, собрать и подключить плагин.
6 апреля 2026

Как настроить новые режимы отрисовки QR-кода в FastReport .NET

В статье рассмотрим, как заменить стандартные модули QR-кода в FastReport .NET на декоративные фигуры: круги, звёзды, шестиугольники и другие.

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