Как установить имя изображения в файле Docker? - программирование
Подтвердить что ты не робот

Как установить имя изображения в файле Docker?

Вы можете установить имя изображения при создании пользовательского изображения, например:

docker build -t dude/man:v2 . # Will be named dude/man:v2

Есть ли способ определить имя изображения в Dockerfile, поэтому мне не нужно упоминать его в команде docker build?

4b9b3361

Ответ 1

Пометка изображения не поддерживается в Dockerfile. Это должно быть сделано в вашей команде сборки. В качестве обходного пути вы можете выполнить сборку с помощью docker-compose.yml, который идентифицирует имя целевого образа, а затем запустить docker-compose build. Пример docker-compose.yml будет выглядеть

version: '2'

services:
  man:
    build: .
    image: dude/man:v2

Тем не менее, есть толчок против создания сборки с compose, так как это не работает в режиме роя. Итак, вы вернулись к выполнению команды, как вы задали в своем вопросе:

docker build -t dude/man:v2 .

Лично я, как правило, собираю небольшой сценарий оболочки в своей папке (build.sh), который передает любые аргументы и включает в себя имя изображения, чтобы сохранить типизацию. А для производства сборка обрабатывается сервером ci/cd, имя которого находится внутри конвейерного скрипта.

Ответ 2

Как создать образ с пользовательским именем без использования файла yml:

docker build -t image_name .

Как запустить контейнер с настраиваемым именем:

docker run -d --name container_name image_name

Ответ 3

Вот другая версия, если вам нужно сослаться на определенный файл докера:

version: "3"
services:
  nginx:
    container_name: nginx
    build:
      context: ../..
      dockerfile: ./docker/nginx/Dockerfile
    image: my_nginx:latest

Тогда ты просто бежишь

docker-compose up --build

Ответ 4

Вы можете сделать это, используя 'AS' ИЗ Ubuntu: 16.04 AS FooImage