Back to questions
Andersen
Junior — Middle
74
Чем отличаются команды COPY и ADD при создании образов Docker?
Companies where asked
МКБ Банк
Answer from AI
sobes.tech AI
Команды COPY и ADD в Dockerfile используются для копирования файлов и директорий из контекста сборки в образ, но имеют отличия:
-
COPY— простая команда, которая копирует файлы и каталоги из локального контекста сборки в указанный путь внутри образа. Она не выполняет никаких дополнительных действий. -
ADD— более мощная команда, которая помимо копирования локальных файлов может:- Распаковывать архивы (например,
.tar,.tar.gz) прямо в образ. - Копировать файлы по URL (загружать удалённые файлы).
- Распаковывать архивы (например,
Рекомендуется использовать COPY, если нужно просто скопировать файлы, так как это более предсказуемо и безопасно. ADD стоит применять, если нужна функциональность распаковки архивов или загрузки по URL.
Пример:
# Копируем локальный файл
COPY ./app /app
# Распаковываем архив в образ
ADD archive.tar.gz /app/