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