Назад к статьям
Что такое Docker?
Docker — это платформа для разработки, доставки и запуска приложений в контейнерах. Контейнеры позволяют упаковать приложение со всеми его зависимостями в стандартизированный unit.
Преимущества Docker
- Консистентность окружения - одинаковое поведение на всех системах
- Изоляция - приложения не конфликтуют между собой
- Портативность - работает везде, где есть Docker
- Эффективность - меньше ресурсов чем виртуальные машины
Основные команды Docker
Работа с образами
docker pull nginx:latest - скачать образdocker images - список образовdocker rmi IMAGE_ID - удалить образ
Работа с контейнерами
docker run -d -p 80:80 nginx - запустить контейнерdocker ps - список запущенных контейнеровdocker stop CONTAINER_ID - остановить контейнерdocker logs CONTAINER_ID - посмотреть логи
Dockerfile - создание своих образов
Пример простого Dockerfile для Node.js приложения:
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
Docker Compose для многоконтейнерных приложений
Docker Compose позволяет управлять несколькими контейнерами через YAML файл. Идеально для разработки с базами данных, кэшем и другими сервисами.
Лучшие практики
- Используйте .dockerignore для исключения ненужных файлов
- Минимизируйте количество слоев в Dockerfile
- Используйте официальные базовые образы
- Запускайте один процесс на контейнер
Заключение
Docker значительно упрощает процесс разработки и деплоя приложений. Освоив базовые концепции, вы сможете создавать воспроизводимые и масштабируемые среды разработки.