Crear una imagen a partir de un contenedor

Supongamos que tenemos un contenedor Docker y deseamos versionarla en Docker Hub.

Primero ver el contenedor a transforma a una imagen para luego versionarla (El contenedor debe estar detenido)

docker ps -a

Cuando inicia una imagen de Docker, puede crear, modificar y eliminar archivos de la misma manera que con una máquina virtual. Los cambios que realice solo se aplicarán a ese contenedor. Puede iniciarlo y detenerlo, pero una vez que lo destruya con el comando docker rm, los cambios se perderán para siempre.

Ahora a modo de ejemplo se explica como guardar estos cambios en una imagen.

Cuando tengamos nuestros cambios listos, primero debemos transformar el contenedor en una imagen:

docker commit -m "What you did to the image" -a "Author Name" container_id repository/new_image_name

Por ejemplo: (Donde ‘sammy’ es el usuario de Docker Hub y d9b100f2f636 es el ID del contenedor)

docker commit -m "added Node.js" -a "sammy" d9b100f2f636 sammy/ubuntu-nodejs

Luego si listamos las imágenes veremos que se encuentra la que hemos creado.

docker images

Subir una imagen a un repositorio Docker (Docker Hub)

Para enviar una imagen a Docker Hub o cualquier otro registro de Docker, debe tener una cuenta allí.
La idea de hacer esto es versionar la imagen creada y compartirla.

Logearce en Docker Hub

docker login -u docker-registry-username

Nota: Si su nombre de usuario de registro de Docker es diferente del nombre de usuario local que utilizó para crear la imagen, tendrá que etiquetar su imagen con su nombre de usuario de registro. Para el ejemplo dado en el último paso, debe escribir:

docker tag sammy/ubuntu-nodejs docker-registry-username/ubuntu-nodejs

subir los cambios

docker push docker-registry-username/docker-image-name

listo

 

Fuente: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04