ЛЕКЦІЯ 22

Dockerfile и создание образов

Рецензія: Docker основи

План

  • Dockerfile синтаксис
  • Шари (layers) та кеш
  • Best practices

Dockerfile

Dockerfile

Текстовий файл з інструкціями побудови образу. Кожна лінія - шар.

Простий Dockerfile

FROM ubuntu:22.04

RUN apt-get update && apt-get install -y python3

WORKDIR /app

COPY . /app

RUN pip install -r requirements.txt

EXPOSE 8000

CMD ["python3", "app.py"]

Dockerfile інструкції

Dockerfile для Rust

FROM rust:latest as builder

WORKDIR /app
COPY . .

RUN cargo build --release

FROM ubuntu:22.04

COPY --from=builder /app/target/release/myapp /usr/bin/

CMD ["myapp"]

Шари (Layers)

Layers

Кожна інструкція створює шар. Docker використовує кеш для прискорення побудови.

Побудова образу

# Побудувати образ
docker build -t myapp:1.0 .

# З іншого Dockerfile
docker build -f Dockerfile.prod -t myapp:prod .

# З аргументами
docker build --build-arg NODE_ENV=production -t app .

Best Practices

Запитання 1

Яка перша інструкція в Dockerfile?

  • FROM
  • RUN
  • COPY
✅ Правильна відповідь: FROM

Запитання 2

Чому multi-stage build корисна?

  • Зменшує розмір образу
  • Прискорює побудову
  • Покращує безпеку
✅ Правильна відповідь: Зменшує розмір образу

Помилка: Великий образ

⚠️ ЗАСТЕРЕЖЕННЯ

❌ Неправильно

✓ Правильно

Підсумки

  • Dockerfile - рецепт образу
  • FROM, RUN, COPY, CMD - основні
  • Шари та кеш для ефективності
  • Best practices для меншого розміру

Далі

Наступна лекція:

Лекція 23: Docker Compose для оркестрації

Дякую за увагу! 💾

← Повернутися до списку лекцій