Docker — это платформа для контейнеризации, которая позволяет упаковывать приложения и их зависимости в изолированные контейнеры. Это упрощает развертывание, масштабирование и управление приложениями.
Преимущества использования Docker
- Изоляция. Приложение и его зависимости находятся в одном контейнере, не влияя на другие процессы системы.
- Масштабируемость. Контейнеры можно легко создавать, копировать и разворачивать в различных средах.
- Универсальность. Контейнеры работают одинаково в разных операционных системах и облачных платформах.
- Быстрое развертывание. Запуск контейнеров происходит быстрее, чем развертывание виртуальных машин.
Установка Docker
Для работы с Docker необходимо установить Docker Desktop или Docker Engine для серверов. После установки можно проверить его работу:
docker --version
Создание Docker-образа для .NET-приложения
1. Создание .NET-приложения
dotnet new web -o MyApp
cd MyApp
2. Создание Dockerfile
Создать в корне проекта файл Dockerfile
со следующим содержимым:
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
WORKDIR /app
COPY bin/Release/net8.0/publish/ .
ENTRYPOINT ["dotnet", "MyApp.dll"]
3. Сборка и публикация
dotnet publish -c Release -o out
4. Сборка Docker-образа
docker build -t myapp .
5. Запуск контейнера
docker run -p 8080:80 myapp
После этого приложение будет доступно по адресу http://localhost:8080
.
Использование Docker Compose
Для управления несколькими контейнерами можно использовать docker-compose
.
Создать файл docker-compose.yml
:
version: '3.4'
services:
myapp:
image: myapp
build: .
ports:
- "8080:80"
Запуск контейнера с помощью Compose:
docker-compose up -d