Exportación e Importación de Contenedores
El comando docker export permite exportar un contenedor local como un archivo de instantánea. Por otro lado, el comando docker import nos importa ese archivo de instantánea en nuestro repositorio local de imágenes, también es posible importar desde una URL o un directtorio específico.
Nota importante: El comando docker load importa archivos de almacenamiento de imágenes al repositorio local. Estos archivos preservan el historial completo, por lo que son más grandes. En cambio, los archivos de instantánea de contenedores descarten todo el historial y metadatos, conservando solo el estado del contenedor en ese momento. Al improtar, es posible especificar nuevos metadatos como etiquetas.
Ejemplo de Exportación de Contenedor
[root@CentOS-7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/ubuntu latest 6a2f32de169d 13 días atrás 117.2 MB
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker run --name demo -itd ubuntu bash
7b3c4a8f2e1d05567890abcdef1234567890abcdef1234567890abcdef
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7b3c4a8f2e1d ubuntu "bash" 25 segundos atrás Up 23 segundos demo
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker attach demo
root@7b3c4a8f2e1d:/#
root@7b3c4a8f2e1d:/# echo "contenido de prueba" > archivo_prueba.txt
root@7b3c4a8f2e1d:/#
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7b3c4a8f2e1d ubuntu "bash" 2 minutos atrás Up 2 minutos demo
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker logs demo
root@7b3c4a8f2e1d:/#
root@7b3c4a8f2e1d:/# echo "contenido de prueba" > archivo_prueba.txt
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker export demo > Ubuntu-Demo.tar
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# ls -lh Ubuntu-Demo.tar
-rw-r--r-- 1 root root 98M May 10 15:22 Ubuntu-Demo.tar
[root@CentOS-7 ~]#
Ejemplo de Importación de Contenedor
[root@CentOS-7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/ubuntu latest 6a2f32de169d 13 días atrás 117.2 MB
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# cat Ubuntu-Demo.tar | docker import - ubuntu-demo:v2
sha256:2468101357924680135792468013579246801357924680135792468013579
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu-demo v2 246810135792 8 segundos atrás 98.15 MB
docker.io/ubuntu latest 6a2f32de169d 13 días atrás 117.2 MB
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker history ubuntu-demo:v2
IMAGE CREATED CREATED BY SIZE COMMENT
246810135792 15 segundos atrás 98.15 MB Importado desde -
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker run --name contenedor-demo -idt ubuntu-demo:v2 bash
13579246801357924680135792468013579246801357924680135792468013579
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
135792468013 ubuntu-demo:v2 "bash" 18 segundos atrás Up 16 segundos contenedor-demo
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker logs contenedor-demo
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker attach contenedor-demo
root@246810135792:/#
root@246810135792:/# ls -l archivo_prueba.txt
-rw-r--r-- 1 root root 22 May 10 07:15 archivo_prueba.txt
root@246810135792:/# cat archivo_prueba.txt
contenido de prueba
root@246810135792:/#