Sobes.tech
Middle
17

Разница между COPY и ADD в Dockerfile?

Companies where asked
МТСМТС

Answer from AI

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/