Ответ
Docker — это платформа для разработки, доставки и запуска приложений в изолированных пользовательских пространствах, называемых контейнерами. Контейнеры упаковывают приложение со всеми его зависимостями (библиотеки, runtime, системные инструменты) в стандартизированный единица программного обеспечения.
Ключевые концепции:
- Образ (Image): Неизменяемый шаблон с инструкциями для создания контейнера. Собирается из
Dockerfile. - Контейнер (Container): Запущенный экземпляр образа. Это изолированный процесс, работающий поверх общего ядра хостовой ОС.
- Docker Engine: Демон (
dockerd), который создает и управляет контейнерами. - Docker Registry: Хранилище образов (например, Docker Hub, GitLab Container Registry).
Практический пример Dockerfile для простого веб-приложения:
# Используем легковесный базовый образ
FROM nginx:alpine
# Копируем статичные файлы приложения в образ
COPY ./src /usr/share/nginx/html
# Открываем порт, который слушает nginx
EXPOSE 80
# Команда для запуска контейнера
CMD ["nginx", "-g", "daemon off;"]
Преимущества для DevOps:
- Консистентность: Приложение работает идентично на любом окружении (ноутбук разработчика, CI-сервер, продакшен).
- Изоляция: Конфликты зависимостей между приложениями исключены.
- Эффективность: Контейнеры легче и быстрее виртуальных машин, так как используют ядро хоста.
- Портативность: Образ можно запустить где угодно, где есть Docker.
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶