Что такое Docker?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Docker — платформа для разработки, доставки и запуска приложений в изолированных средах, называемых контейнерами. Контейнеры Docker объединяют код приложения со всеми его зависимостями (библиотеки, фреймворки, настройки и т.д.), обеспечивая единообразное окружение для выполнения на любой системе с установленным Docker.
Ключевые понятия:
-
Образ Docker (Docker Image): Неизменяемый, исполняемый пакет, содержащий все необходимое для запуска приложения. Служит шаблоном для создания контейнеров.
-
Контейнер Docker (Docker Container): Запускаемый экземпляр образа. Изолированный процесс, который работает со своим собственным набором ресурсов (файловая система, сеть, память).
-
Dockerfile: Текстовый файл, содержащий инструкции для сборки образа Docker.
# Использование базового образа Python
FROM python:3.9-slim
# Установка зависимостей
RUN pip install requests
# Копирование исходного кода приложения
COPY app.py /app/
# Установка рабочего каталога
WORKDIR /app
# Определение команды для запуска приложения
CMD ["python", "app.py"]
- Docker Hub: Облачный реестр для хранения и обмена образами Docker.
Преимущества Docker:
- Портативность: Контейнеры работают одинаково на любой системе, где установлен Docker, устраняя проблемы "работает у меня на машине".
- Изоляция: Каждый контейнер изолирован от других и от хост-системы, что повышает безопасность и стабильность.
- Воспроизводимость: Образы гарантируют, что среда выполнения всегда будет одинаковой.
- Быстрая развертывание: Контейнеры запускаются быстрее, чем виртуальные машины.
- Оптимизация ресурсов: Контейнеры используют общие ресурсы ядра ОС, потребляя меньше ресурсов по сравнению с виртуальными машинами.
Docker широко используется в процессах CI/CD (Continuous Integration/Continuous Deployment) для автоматизированной сборки, тестирования и развертывания приложений.