run - ¿Cómo configurar el nombre de la imagen en Dockerfile?
dockers images (4)
Aquí hay otra versión si tiene que hacer referencia a un archivo acoplable específico:
version: "3"
services:
nginx:
container_name: nginx
build:
context: ../..
dockerfile: ./docker/nginx/Dockerfile
image: my_nginx:latest
Entonces solo corres
docker-compose up --build
Puede establecer el nombre de la imagen al crear una imagen personalizada, como esta:
docker build -t dude/man:v2 . # Will be named dude/man:v2
¿Hay alguna manera de definir el nombre de la imagen en Dockerfile, por lo que no tengo que mencionarlo en el comando de
docker build
?
Cómo construir una imagen con nombre personalizado sin usar el archivo yml:
docker build -t image_name .
Cómo ejecutar un contenedor con nombre personalizado:
docker run -d --name container_name image_name
El etiquetado de la imagen no es compatible dentro del Dockerfile.
Esto debe hacerse en su comando de compilación.
Como solución alternativa, puede hacer la compilación con un docker-compose.yml que identifica el nombre de la imagen de destino y luego ejecutar una
docker-compose build
.
Un ejemplo de docker-compose.yml se vería así
version: ''2''
services:
man:
build: .
image: dude/man:v2
Dicho esto, hay un impulso en contra de hacer la compilación con componer ya que eso no funciona con las implementaciones de modo enjambre. Entonces ha vuelto a ejecutar el comando como lo ha indicado en su pregunta:
docker build -t dude/man:v2 .
Personalmente, tiendo a construir con un pequeño script de shell en mi carpeta (build.sh) que pasa cualquier argumento e incluye el nombre de la imagen allí para guardar la escritura. Y para la producción, la construcción es manejada por un servidor ci / cd que tiene el nombre de la imagen dentro del script de la tubería.
Puede hacer esto usando ''AS'' DESDE ubuntu: 16.04 AS FooImage