1.9 KiB
1.9 KiB
Docker — Images & Dockerfile (one-screen)
1) Image: из чего состоит
Docker image собирается из слоёв (layers). Почти каждая инструкция Dockerfile добавляет слой. Слои кэшируются: при изменении “ранних” слоёв пересобирается всё ниже.
2) Ключевые инструкции Dockerfile
- FROM — базовый образ.
- RUN — команды при сборке (формируют слой).
- COPY — копирование файлов/папок в image.
- ADD — как COPY, но умеет распаковать архивы (использовать осознанно).
Часто используемые:
- WORKDIR — рабочая директория.
- ENV — переменные окружения.
- ARG — переменные только на этапе build.
- CMD — команда по умолчанию (можно переопределять).
- ENTRYPOINT — “жёсткая” точка входа.
- EXPOSE — документирует порт.
- VOLUME — точка монтирования volume.
3) Оптимизация образа (практика)
- Склеивать RUN:
RUN apt update && apt install -y python3 python3-dev \
&& rm -rf /var/lib/apt/lists/*
- Чистить кеш пакетного менеджера.
- Удалять временные файлы в той же инструкции, где создавались.
- Менее изменчивое — выше, часто меняющееся — ниже.
- COPY делать батчами.
- По возможности брать лёгкие base images.
Source: Images, Dockerfile - Docker