Назад к вопросам
Junior
68
questionbank
Что такое Docker?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Docker — это платформа для разработки, доставки и запуска приложений в контейнерах. Контейнер представляет собой легкий, изолированный, исполняемый пакет, включающий в себя все необходимое для запуска приложения: код, системные библиотеки, зависимости и конфигурацию.
Ключевые концепции Docker:
- Имидж (Image): Шаблон только для чтения с инструкциями для создания контейнера. Имиджи строятся послойно.
- Контейнер (Container): Исполняемый экземпляр имиджа. Контейнеры являются изолированными и могут быть легко созданы, запущены, остановлены и удалены.
- Dockerfile: Скрипт, содержащий набор инструкций для автоматического создания имиджа Docker.
- Docker Hub (или другие реестры): Репозиторий для хранения и обмена имиджами Docker.
Преимущества использования Docker:
- Портативность: Приложения работают одинаково в любой среде с установленным Docker.
- Изоляция: Контейнеры изолируют приложения друг от друга и от хостовой системы.
- Воспроизводимость: Сборка имиджей по Dockerfile гарантирует одинаковое окружение каждый раз.
- Быстрая развертывание: Контейнеры запускаются очень быстро по сравнению с виртуальными машинами.
- Управление зависимостями: Все зависимости упакованы внутри контейнера.
Пример использования Dockerfile:
# Использование базового образа OpenJDK
FROM openjdk:11-jdk-slim
# Установка рабочей директории внутри контейнера
WORKDIR /app
# Копирование JAR файла приложения в контейнер
COPY target/my-java-app.jar /app/my-java-app.jar
# Определение команды, которая будет выполняться при запуске контейнера
CMD ["java", "-jar", "my-java-app.jar"]