Как я вижу из комментариев в исходниках в: vendor/src/github.com/opencontainers/runc/libcontainer/factory_linux. go
// Cgroupfs is an options func to configure a LinuxFactory to return
// containers that use the native cgroups filesystem implementation to
// create and manage cgroups.
cgroupfs
, похоже, является собственной реализацией docker (libcontainer
), которая настраивает контейнеры cgroups
на запись непосредственно в файлы на cgroups-file-system
(например, смонтированные в /sys/fs/cgroup/
).
Согласно Рекомендации по написанию файлов Docker ,
Хотя
ADD
иCOPY
функционально схожи, в общем, COPY - это предпочтительнее. Это потому, что он более прозрачен, чемADD
.
ADD
может извлекать файлы tar и получать удаленные файлы URL, хотя это не очень ясно в официальной документации . Также важно указать, что,
Поскольку размер изображения имеет значение, использование
ADD
для получения пакетов с удаленных URL-адресов категорически не рекомендуется; вместо этого вам следует использоватьcurl
илиwget
.
COPY entrypoint.sh /srv/app/
ADD app.tar /srv/app/
Таким образом, общее правило, как указано в @derobert, используйте COPY
, если вам не нужны эксклюзивные функции ADD
.
ADD
выполняет гораздо больше "магии": он находит URL и распаковывает архивы. Это может быть несколько неожиданно (особенно распаковка архивов). Официальное руководство по лучшей практике рекомендует использовать COPY, если вам не нужны дополнительные возможности ADD.