24 feb. 2016

Compartir imagenes Docker por medio de archivos tar

Uno de los puntos más importantes a la hora de trabajar con Docker es el compartir  imagenes Docker aparte de usar Docker Hub.

Se tiene la exportación e importación de imagenes como opción almacenando y extrayendo a partir de archios tar.

Se tienen los artículos anteriores sobre Docker:

  1. Instalar Docker en Debian Jessie
  2. Uso de Docker en Debian Jessie (parte 1)
  3. Uso de Docker en Debian Jessie (parte 2)
  4. Crear una imagen Docker a partir de un archivo Dockerfile
  5. Iniciando Django usando Docker
  6. Instalar Gitlab por medio de Docker
  7. Ejecutando microservicios con docker usando docker-compose
  8. Docker en Docker (DinD)
  9. Iniciando Django con docker usando docker-compose con postgresql como microservicio.
  10. Importar un contenedor Docker en Python.

Lo primero es ver que contenedores se tienen ejecutandose en el equipo:

$docker ps 
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                                                    NAMES
b0c1163d1668        gitlab/gitlab-ce:latest   "/assets/wrapper"        4 weeks ago         Up 4 hours          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:8022->22/tcp           gitlab
b4d3c96f6dc9        jenkins                   "/bin/tini -- /usr/lo"   4 weeks ago         Up 4 hours          0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp, 0.0.0.0:8122->22/tcp   jenkins


Se tienen dos contenedores ejecutandose, uno de gitlab y otro de jenkins.

Se realizará respaldo del contenedor con gitlab usando el comando docker export, pasando el id del contenedor de gitlab que es b0c1163d1668:

$docker export b0c1163d1668 > gitlab.tar

Al ejecutar ls se tiene el archivo gitlab.tar:

ls -l
total 2201820
-rw-r--r-- 1 ernesto ernesto 1409662976 feb 24 16:15 gitlab.tar


Para usar la imagen a partir del archivo tar se importa la imagen: 

$ docker import - gitlab2 < gitlab.tar
sha256:020ea830b267080ce092f42b1b0f1a2d520b21b8a3393696f5271f42e4bd8d79

El nombre de la imagen es gitlab2, ahora se lista las imagenes que se tienen en el equipo:

$ docker images | grep gitlab
gitlab2                        latest              020ea830b267        About a minute ago   1.344 GB
gitlab/gitlab-ce               latest              db1c29be1030        6 weeks ago          1.326 GB
sameersbn/gitlab               latest              47d53c4a820a        10 weeks ago         675.7 MB

Si se quiere compartir la imagen con alguien,  se puede subir el archivo tar a un servidor web y de ahí se puede bajar .  

Publicar un comentario en la entrada

AddThis