Как назвать Dockerfiles
Я не уверен, как назвать Dockerfiles. Многие используют GitHub Dockerfile
без расширения файла. Могу ли я дать им имя и расширение; если да, то что? Или я просто называю их Dockerfile
?
7 ответов:
Не изменяйте имя файла dockerfile, если вы хотите использовать autobuilder по адресу hub.docker.com. не используйте расширение для файлов docker, оставьте его пустым. Имя файла должно быть просто: (без расширения вообще)
Dockerfile
надеюсь, что это поможет
на vscode, я использую
dev.Dockerfile
и он по-прежнему распознает его правильно.Итак, моя стратегия для именования нескольких Dockerfiles в одной папке:
purpose.Dockerfile
Я думаю, что вы должны иметь каталог для каждого контейнера с Dockerfile (без расширения) в нем. Например:
/db/Dockerfile /web/Dockerfile /api/Dockerfile
при сборке просто используйте имя каталога, Docker найдет файл Dockerfile. например:
docker build -f ./db .
кажется, это правда, но лично мне кажется, что это плохой дизайн. Конечно, имейте имя по умолчанию (с расширением), но разрешите другие имена и укажите имя файла docker для команд.
наличие расширения также приятно, потому что оно позволяет связывать приложения с этим типом расширения. Когда я нажимаю на Dockerfile в MacOSX он рассматривает его как исполняемый файл Unix и пытается запустить его.
Если бы файлы Docker имели расширение, я мог бы попросите ОС запустить их с определенным приложением, например, с моим приложением текстового редактора. Я не уверен, но текущее поведение также может быть связано с файловыми разрешениями.
Dockerfile
хорошо, если у вас есть только один файл docker (за каталог). Вы можете использовать любой стандарт, если вам нужно несколько файлов docker в одном каталоге - если у вас есть веская причина. В недавнем проекте были файлы AWS docker и локальные файлы среды разработки, потому что среды достаточно отличались:
Dockerfile
Dockerfile.aws
даю ли я им имя и расширение; если да, то что?
вы можете назвать ваши Dockerfiles, как вам нравится. Имя файла по умолчанию:
Dockerfile
(без расширения), по умолчанию может облегчить различные задачи при работе с контейнерами.в зависимости от ваших конкретных требований вы можете изменить имя файла. Если вы строите для нескольких архитектур, например, вы можете добавить расширение, указывающее архитектуру как и resin.io команда сделала для контейнера HAProxy их пример руки мульти-контейнера:
Dockerfile.aarch64 Dockerfile.amd64 Dockerfile.armhf Dockerfile.armv7hf Dockerfile.i386 Dockerfile.i386-nlp Dockerfile.rpi
в приведенном примере каждый Dockerfile строится из другого, специфичного для архитектуры, восходящего образа. Конкретный Dockerfile для использования в сборке может быть указан с помощью
--file, -f
опции при создании контейнера с помощью командной строки.