Как назвать Dockerfiles


Я не уверен, как назвать Dockerfiles. Многие используют GitHub Dockerfile без расширения файла. Могу ли я дать им имя и расширение; если да, то что? Или я просто называю их Dockerfile?

7 55

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 .

Если вы хотите использовать autobuilder на hub.docker.com-это должен бытьDockerfile. Так там:)

кажется, это правда, но лично мне кажется, что это плохой дизайн. Конечно, имейте имя по умолчанию (с расширением), но разрешите другие имена и укажите имя файла 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 опции при создании контейнера с помощью командной строки.