Cómo establecer el nombre de la imagen en Dockerfile?


Puede establecer el nombre de la imagen al crear una imagen personalizada, de esta manera:

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

¿Hay alguna forma de definir el nombre de la imagen en Dockerfile, así que no tengo que mencionarlo en el comando docker build?

Author: mohan08p, 2016-08-17

3 answers

El etiquetado de la imagen no está soportado dentro del Dockerfile. Esto debe hacerse en su comando de compilación. Como solución alternativa, puede hacer la compilación con una docker-compose.yml que identifica el nombre de la imagen de destino y luego ejecuta un docker-compose build. Un ejemplo de docker-compose.yml se vería como

version: '2'

services:
  man:
    build: .
    image: dude/man:v2
 114
Author: BMitch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-17 01:08:09

Cómo construir una imagen con un nombre personalizado sin usar el archivo yml:

docker build -t image_name .

Cómo ejecutar un contenedor con un nombre personalizado:

docker run -d --name container_name image_name
 136
Author: salehinejad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-13 13:58:08

Aquí hay otra versión si tiene que hacer referencia a un archivo docker específico:

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

Entonces simplemente ejecuta

docker-compose up --build
 12
Author: David Dehghan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-31 04:37:55