Текстовий файл з інструкціями побудови образу. Кожна лінія - шар.
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"]
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"]
Кожна інструкція створює шар. 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 .
Лекція 23: Docker Compose для оркестрації
Дякую за увагу! 💾