🐳 Введение в 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 значительно упрощает процесс развертывания и управления приложениями. Он помогает разработчикам создавать более стабильные и масштабируемые приложения, которые легко развертывать в различных средах.