Подтвердить что ты не робот

Как назвать Dockerfiles

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

4b9b3361

Ответ 1

Не меняйте имя файла dockerfile, если вы хотите использовать autobuilder на hub.docker.com. Не используйте расширение для файлов Docker, оставьте его пустым. Имя файла должно быть просто: (без расширения)

Dockerfile

Тем не менее, вы можете сделать, как показано ниже...

dev.Dockerfile, uat.Dockerfile, prod.Dockerfile и т.д.

В VS Code вы можете использовать <purpose>.Dockerfile и он работает соответственно.

Ответ 2

dev.Dockerfile, test.Dockerfile, build.Dockerfile и т.д.

В VS Code я использую <purpose>.Dockerfile и он распознается правильно.

Ответ 3

Я думаю, что у вас должен быть каталог на контейнер с файлом Docker (без расширения). Например:

  /db/Dockerfile
  /web/Dockerfile
  /api/Dockerfile

Когда вы просто используете имя каталога, Docker найдет Dockerfile. например:

docker build -f ./db .

Ответ 4

Если вы хотите использовать автообработчик на hub.docker.com, он должен быть Dockerfile. Итак, там:)

Ответ 5

Кажется, это правда, но, лично, мне кажется, что это плохой дизайн. Конечно, иметь имя по умолчанию (с расширением), но разрешать другие имена и иметь способ указать имя файла докеров для команд.

Наличие расширения также хорошо, потому что оно позволяет связать приложения с этим типом расширения. Когда я нажимаю на файл Docker в MacOSX, он рассматривает его как исполняемый файл Unix и пытается его запустить.

Если файлы Docker имели расширение, я мог бы сказать ОС, чтобы они запускали их с определенным приложением, например. мое приложение текстового редактора. Я не уверен, но текущее поведение также может быть связано с разрешениями файла.

Ответ 6

Я даю им имя и расширение; Если да, то?

Вы можете назвать свои Dockerfiles так, как вам нравится. Имя файла по умолчанию - Dockerfile (без расширения), и использование по умолчанию может упростить различные задачи при работе с контейнерами.

В зависимости от ваших конкретных требований вы можете изменить имя файла. Например, если вы строите для нескольких архитектур, вы можете добавить расширение, указывающее архитектуру, как это сделала команда смолы .io для контейнера HAProxy в своем примере ARM для нескольких контейнеров:

Dockerfile.aarch64
Dockerfile.amd64
Dockerfile.armhf
Dockerfile.armv7hf
Dockerfile.i386
Dockerfile.i386-nlp
Dockerfile.rpi

В представленном примере каждый Dockerfile строится из отдельного, специфичного для архитектуры, восходящего образа. Конкретный Dockerfile, который будет использоваться для сборки, может быть указан с помощью --file, -f при сборке контейнера с помощью командной строки.

Ответ 7

Dockerfile хорош, если у вас есть только один файл докеров (для каждого каталога). Вы можете использовать любой стандарт, который вам нужен, если вам нужно несколько файлов докеров в одном каталоге -  если у вас есть веская причина. В недавнем проекте были файлы докеров-докеров AWS и файлы среды локального dev, поскольку среды были достаточно различны:

Dockerfile Dockerfile.aws

Ответ 8

Я создал два файла Docker в одном каталоге,

# vi one.Dockerfile
# vi two.Dockerfile

построить оба Dockerfiles,

# docker build . -f one.Dockerfile
# docker build . -f two.Dockerfile

Примечание: вы должны быть в текущем рабочем каталоге.