Sobes.tech
Back to questions
Junior — Middle
74

Чем отличаются команды COPY и ADD при создании образов Docker?

Companies where asked
AndersenAndersen
МКБ Банк

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/