Contenedores Docker

Contenidos

¿Qué son los Contenedores de Docker?

Un contenedor es la autentica aplicación corriendo sobre Docker, un contenedor esta basado en una imagen, podemos ejecutar varios contenedores de la misma imagen. Como vinimos poniendo de ejemplo del post anterior  imaginemos que tenemos una imagen Docker que hemos descargado del Hub de Docker, esta imagen es un WordPress, con sus archivos PHP, su base de datos y su server Apache. Ahora queremos ejecutar dos contenedores para dos lugares diferentes de nuestro WordPress, tendremos dos blogs diferentes pero que vienen de una misma imagen.

Enjambre Docker
Enjambre Docker

Ejecutar un contenedor.

Una vez hemos bajado la imagen de Docker, como ya habíamos visto. Es hora de hacerla funcionar, simplemente con el comando Docker Run:

1
docker run -d --name nombre_contenedor -p 3000:80 nombre_imagen

Ahora veremos que es cada cosa:

  • -d: para ejecutar en segundo plano.
  • nombre_imagen: es para buscar el nombre de nuestra imagen, recuerda que para ver nuestras imágenes docker images.
  • –name nombre_contenedor: El nombre que tendrá nuestro contenedor, si no colocamos –name Docker creará una imagen con un nombre aleatorio.
  • -p 80:80: Estamos diciendo que el puerto de nuestra maquina apunta a un puerto concreto de Docker, el 80.

Ahora vamos a ejecutar un segundo contenedor, incluso de la misma imagen, para tener nuestros dos WordPress por ejemplo, o para tener distintas aplicaciones:

1
docker run -d --name nombre_contenedor -p 3001:80 nombre_imagen

Como vemos hemos tenido que cambiar el puerto pues el 80 ya apunta a otro contenedor, si esto lo hacemos con la imagen de WordPress con localhost:80 iríamos a nuestro primer contenedor y con localhost:81 iríamos al segundo.

Mostrar Contenedores Corriendo

Ahora queremos ver todos los contenedores que tenemos levantados y funcionando:

1
docker ps

En la imagen se muestra como he intentado levantar 3 contenedores uno me dio un fallo por no tener la base de datos y como se muestran todos:

docker contenedores
docker contenedores

Parar un contenedor

Para para un contenedor usaremos:

1
docker stop nombre_contenedor

Ahora con el Docker ps no nos mostraría este contenedor al estar desactivo por lo que usaremos:

1
docker ps -a

Borrar contenedores

Ahora lo que queremos es borrar un contenedor especifico, de esta forma ya no aparecerá tampoco con Docker ps -a.

1
docker rm nombre_contentedor

Este es el resultado de parar un contenedor, como no se ve al colcar Docker ps, posteriormente lo borré y ya no aparece ni si quiera con docker ps -a

Parar y eliminar contenedores Docker
Parar y eliminar contenedores Docker

Crear una imagen de un contenedor

Lo último que nos queda es: crear una imagen de un contenedor, esto no sirve para tener copias de seguridad o para exportar el contenido, por ejemplo porque cambiamos de hosting. Y simplemente con el siguiente comando:

1
docker commit -m comentario -a autor nombre_imagen:etiqueta_imagen

Siendo:

  • autor: Vuestro nombre, en mi caso Drouiz.
  • nombre_imagen:etiqueta_imagen: podria ser drouiz/wordpress

Una vez hecho ponéis docker images y debería apareceros la nueva imagen creada.

Parar o Borrar todos los contenedores:

Si quereís dejar limpio vuestro sistema de contenedores podeís usar los siguientes comandos:

Parar todos los contenedores

1
docker stop $(docker ps -a -q)

Eliminar todos los contenedores

1
docker rm $(docker ps -a -q)

 

Resumen

Como veis cargar contenedores Docker es algo realmente sencillo, imaginad que tenéis un WordPress estandar para todos vuestros clientes con una serie de plugins que son los que más usáis, pues con Docker se puede exportar con facilidad a cada nuevo hosting.

Summary
Contenedores Docker
Article Name
Contenedores Docker
Description
Toda la información para comenzar con contenedores Docker, levantar un contenedor, pararlo, borrarlo y crear una imagen de uno de ellos.
Author
Publisher Name
Drouiz
Publisher Logo

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.