Custom images con Dockerfile
Crear imágenes con un archivo dockerfile es el método mas común debido a que nos da mas rapidez por que podemos escribir el archivo solo una vez y podríamos crear imágenes tantas veces como creamos necesario, Además configurar variables de entorno, copiar contenido hacia el contenedor, o establecer el comando que se va a ejecutar por default. A continuacion construimos el archivo, debe ir con la "D" capital-case:
/Dockerfile
FROM debian:stretch
RUN apt-get update
RUN apt-get -y git
RUN apt-get install -y vim
nota: -y indica que no queremos confirmar preguntas del prompt, si no ponemos este flag el comando hace time-out y no construirá nada.
Comando docker built
docker built -t <name-container> <docker-context>
<name-container> puede ser git:2.11.0 lo que va después de los dos puntos ":" es el tag del la imagen
<docker-context> es la ruta o path de los archivos que se van a utilizar para la construcción de la imagen, el daemon de docker va a empaquetar todos los archivos y los envía hacia la nueva imagen, si el terminal esta en el directorio donde tenemos los archivos para la construcción de la imagen bastará con poner un punto (.)
docker build -t git:2.11.0 .
como resultado se ve como docker ejecuta paso por paso según se especificó en el archivo Dockerfile
▶ docker build -t git:2.11.0 .
Sending build context to Docker daemon 21.5kB
Step 1/4 : FROM debian:stretch
---> 8626492fecd3
Step 2/4 : RUN apt-get update
---> Using cache
---> 4120c3ceb003
Step 3/4 : RUN apt-get install -y git
---> Running in 1cf423012ffc
Reading package lists...
Building dependency tree...
Reading state information...
...
...
una vez finalice consultamos la nueva imagen creada
▶ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
git 2.11.0 6197a8916c8c 5 minutes ago 249MB
y la podemos usar para crear un contenedor con git y vim ya instalados
docker run --rm -it git:2.11.0 bash
una vez dentro del contenedor podemos usar git o vim como queramos
root@e891328249c2:/# git --version
git version 2.11.0
root@e891328249c2:/# watch vim
bash: watch: command not found
Last updated
Was this helpful?