Назад к вопросам
Junior
77
questionbank

В чем отличие между командами COPY и ADD в Docker?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

COPY копирует файлы или директории из локальной файловой системы хоста в файловую систему образа Docker. Источник должен быть относительно контекста сборки.

ADD имеет аналогичную функциональность, но также может:

  • Копировать файлы по URL.
  • Извлекать сжатые архивы (tar, gzip, bzip2) из источника в целевую директорию.

В большинстве случаев предпочтительнее использовать COPY, так как он более предсказуем и явно выполняет только копирование. ADD следует использовать, когда требуется функциональность автоматического скачивания или распаковки.

# Использование COPY для копирования файла из контекста сборки
COPY app.py /app/app.py

# Использование ADD для копирования и распаковки архива
ADD https://example.com/archive.tar.gz /app/