Назад к вопросам
Senior
7
Расскажи про Docker: основные принципы работы, multistage builds, команды CLI
Компании, где спрашивали
СБК ПАРУС
Ответ от нейросети
sobes.tech AI
Docker — это платформа для контейнеризации приложений, позволяющая упаковать приложение с его зависимостями в изолированный контейнер, который можно запускать в любой среде.
Основные принципы работы:
- Контейнеры используют образы (images), которые содержат всё необходимое для запуска приложения.
- Образы строятся слоями, что позволяет эффективно использовать дисковое пространство.
- Контейнеры изолированы друг от друга и от хоста, но при этом легковесны по сравнению с виртуальными машинами.
Multistage builds: Позволяют создавать несколько этапов сборки в одном Dockerfile, что помогает уменьшить размер итогового образа. Например, на первом этапе собирается приложение с инструментами разработки, а на втором — копируются только необходимые артефакты в минимальный образ.
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
FROM alpine:latest
COPY --from=builder /app/myapp /myapp
CMD ["/myapp"]
Основные команды CLI:
docker build— сборка образа из Dockerfile.docker run— запуск контейнера из образа.docker ps— просмотр запущенных контейнеров.docker images— просмотр локальных образов.docker stopиdocker rm— остановка и удаление контейнеров.docker pullиdocker push— загрузка и выгрузка образов в/из реестра.
Docker значительно упрощает деплой и масштабирование приложений, обеспечивая консистентность среды.