Назад к вопросам
МТС
Middle
3
Разница между COPY и ADD в Dockerfile?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Dockerfile инструкции COPY и ADD используются для копирования файлов в образ, но имеют отличия:
-
COPY — простая и предсказуемая команда, копирует файлы и каталоги из контекста сборки в образ.
-
ADD — расширенная версия COPY, кроме копирования поддерживает:
- Распаковку локальных архивов (.tar, .tar.gz и т.п.) прямо в образ.
- Копирование файлов по URL (скачивает файл и кладет в образ).
Рекомендуется использовать COPY, если нужно просто скопировать файлы, чтобы избежать неожиданных эффектов. ADD стоит применять, если нужна распаковка архива или загрузка по URL.
Пример:
# Копирует локальный файл
COPY ./app.jar /app/app.jar
# Распаковывает архив в /app
ADD ./app.tar.gz /app/