Sobes.tech
Назад к вопросам
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/