Custom image con commit

pasos:

  • iniciar un contenedor desde una imagen base

  • Instalar git en el contenedor

  • Hacer commit de los cambios en el contenedor

Iniciamos el contenedor de manera interactiva con -it y vamos a usar la imagen oficial de debian en su versión stretch, además indicamos al final bash para poder teclear comandos de instalación dentro de el contenedor

docker run -it debian:stretch bash

ahora podemos teclear comandos dentro del contenedor por ejemplo actualizar el repositorio de herramientas:

root@b27ca759bdd7:/# apt-get update

no es necesario sudo , los comandos dentro del contenedor usan el usuario root por default.

Ahora podemos instalar cualquier herramienta incluyendo las dependencias de la aplicación que se quiere hacer, en este caso instalamos git:

root@b27ca759bdd7:/# apt-get install git

podemos verificar que se intaló correctamente git:

root@b27ca759bdd7:/# git --version

para continuar en la creación de nuestra custom image de docker vamos a necesitar el id del contenedor que venimos trabajando y al cual le instalamos git, para ello en otra instancia del terminal consultamos los contenedores con estado "Up":

docker ps

tomamos el id y ejecutamos con el nombre que queremos ponerle a la nueva imagen <name-container>:

docker commit b27ca759bdd7 git:2.11.0

git:2.11.0 con esto le estamos dando el nombre de git a nuestra imagen y le estamos dando un tag 2.11.0 que corresponde a la versión que se instaló de git. Si ahora revisamos las imágenes que están en la maquina debe salir la nueva recientemente creada:

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
git                 2.11.0              8a3086f8b36b        5 seconds ago       218MB

Ahora podemos usar la imagen que personalizamos, antes podemos salir del contenedor inicial con exit y creamos uno nuevo con la imagen git:2.11.0:

docker -it git:2.11.0 bash

podemos probar que ya tiene instalada una version de git dentro con :

git --version

En las imágenes personalizadas podemos instalar cualquier herramienta que necesitemos para el desarrollo de las aplicaciones que queramos corren en el contenedor.

Last updated

Was this helpful?