🐳 Введение в Docker-контейнеры
Docker — это платформа для контейнеризации приложений, которая позволяет разработчикам упаковывать приложения и их зависимости в контейнеры. Это упрощает развертывание и масштабирование приложений в различных средах.
Почему Docker?
- Портативность: Контейнеры могут работать в любой среде, где установлен Docker.
- Изоляция: Каждый контейнер изолирован и работает независимо.
- Эффективность: Контейнеры используют ресурсы более эффективно, чем виртуальные машины.
🏗️ Создание Docker-контейнера
Установка Docker
macOS
brew install --cask docker
Linux
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
Написание Dockerfile
Dockerfile — это файл текста, содержащий инструкции для сборки Docker-образа.
Пример Dockerfile для простого Node.js приложения:
# Используем базовый образ Node.js
FROM node:14
# Устанавливаем рабочую директорию
WORKDIR /app
# Копируем package.json и package-lock.json
COPY package*.json ./
# Устанавливаем зависимости
RUN npm install
# Копируем исходный код
COPY . .
# Указываем порт
EXPOSE 8080
# Запускаем приложение
CMD - node - , - app.js -
Сборка Docker-образа
docker build -t my-node-app .
Запуск Docker-контейнера
docker run -p 8080:8080 my-node-app
🛠️ Управление Docker-контейнерами
Список контейнеров
docker ps
Остановка контейнера
docker stop <container_id>
Удаление контейнера
docker rm <container_id>
Просмотр логов контейнера
docker logs <container_id>
📚 Заключение
Docker значительно упрощает процесс развертывания и управления приложениями. Он помогает разработчикам создавать более стабильные и масштабируемые приложения, которые легко развертывать в различных средах.
