Si necesita mover contenedores Docker de un host a otro, aquí le mostramos cómo hacerlo con la función de exportación/importación.
Tienes Docker funcionando sin problemas y has creado varios contenedores en tu servidor. Pero, ¿qué sucede cuando usted quiere (o necesita) mover uno o más de esos contenedores de un host a otro? Siempre se puede empujar la imagen en la que se basan a Docker Hub, tirar de la imagen hacia abajo, y reconstruir el contenedor. O simplemente puede exportar el contenedor, mover el archivo exportado a la máquina en cuestión e importar ese contenedor.
Suena fácil, ¿verdad? Las buenas noticias: lo es. Permítame guiarlo a través de los pasos de exportación e importación de sus contenedores, para que pueda estar seguro de que esos contenedores pueden ser aún más portátiles de lo que usted pensaba. Esta tarea puede ser muy útil, especialmente si su servidor Docker está empezando a fallar o si simplemente desea migrar sus contenedores a un hardware más potente.
Sin importar por qué, repasemos el proceso.
Listado de sus contenedores
Lo primero que debe hacer es hacer una lista de sus contenedores. Los exportará por nombre, así que necesita saber los nombres de esos contenedores. Para ello, ejecute el comando docker ps -a. El resultado incluirá la columna NOMBRE (. Es en esta columna donde obtendrá sus nombres para exportar.
Exportación de un contenedor
Para facilitar el transporte, exportaremos los contenedores a un archivo gzip. El comando para exportar los contenedores es:
docker export NAME | gzip > NAME.gz
Donde NOMBRE es el nombre del contenedor a exportar. Ahora está listo para reubicar el archivo e importarlo.
Importación de un contenedor
De forma similar a la exportación, vamos a importar el contenedor con un solo comando. Obviamente, antes de hacer esto, primero debe mover el archivo exportado al nuevo servidor. Puede hacer esto usando el comando scp así:
scp NAME.gz USERNAME@SERVER_IP:/home/USERNAME
Donde NAME es el nombre de archivo, USERNAME es el nombre de usuario en el servidor remoto, SERVER_IP es la dirección IP del servidor remoto y USERNAME es (de nuevo) el nombre del usuario en el servidor remoto.
Lecturas imprescindibles del centro de datos
Una vez hecho esto, la importación puede ser manejada con el siguiente comando:
zcat NAME.gz | importación de docker - NAME
Donde NOMBRE es el nombre del contenedor. Ahora puede ejecutar el contenedor recién importado con un comando similar a:
docker run -i -t NOMBRE /bin/bash
Donde NOMBRE es el nombre del contenedor.
Debería encontrarse dentro de la línea de comandos del contenedor, donde puede trabajar con el contenedor. Felicidades, el contenedor ha sido importado. Para salir del contenedor, emita el comando exit.
Fácil movimiento del contenedor
El uso de la función de exportación e importación de Docker es una de las formas más sencillas de mover un contenedor de un host a otro. También es una buena manera de hacer una copia de seguridad de sus contenedores (piense en «shell script» aquí. Pero ese es otro tema para otro día.
Disfrute moviendo sus contenedores!
Boletín de noticias de Data Center Trends
DevOps, virtualización, la nube híbrida, el almacenamiento y la eficiencia operativa son sólo algunos de los temas del centro de datos que destacaremos. Entregado Lunes y Miércoles