En este tutorial veremos cómo crear una arquitectura básica para la gestión de contenedores con Docker. Daremos una introducción a qué es Docker y veremos cómo instalar Docker y algunas herramientas que nos facilitarán la gestión de los contenedores.
También te puede interesar:
Cómo instalar un servidor web en un NAS Synology
Instalar OpenJDK
eBook de VMware en Español por vExperts
Curso Práctico de AWS Cloud
Tabla de contenidos
Introducción a la gestión de contenedores con Docker
La gestión de aplicaciones mediante contenedores proporciona un aislamiento en la ejecución de nuestras aplicaciones, de forma que podamos ejecutar una imagen de nuestra aplicación en cualquier sistema sin tener que ajustar su configuración a dicho sistema. De esta manera, gracias a la gestión de contenedores con Docker, podremos ejecutar nuestras aplicaciones de manera más eficiente. Podemos tener varios contenedores de la misma aplicación, y ofrecer servicio al mismo tiempo con varios contenedores. Si uno deja de funcionar, solo hay que crear un contenedor nuevo desde la imagen, y nuestra aplicación volvería a estar disponible inmediatamente.
En este tutorial vamos a ver cómo instalar Docker para la gestión de contenedores. Vamos a usar Docker Compose para crear plantillas de nuestros contenedores, que contendrán la receta de lo que debe incluir nuestro contenedor y lanzarlo todo de manera automática. Y después veremos Portainer, una interfaz web que nos permitirá gestionar nuestros contenedores de forma visual.
Instalar Docker
Antes de instalar Docker en nuestro sistema CentOS debemos instalar unas librerías.
yum install -y yum-utils
Añadimos el repositorio de Docker.
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
E Intalamos la última versión de Docker Engine:
yum install docker-ce docker-ce-cli containerd.io
O instalar una versión concreta de Docker Engine:
yum list docker-ce --showduplicates | sort -r
Ejemplos de algunas versiones:
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
Para instalar una versión concreta, por ejemplo docker-ce-18.09.1, deberíamos ponerlo en el comando de la siguiente forma:
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
Una vez instalado, solo queda iniciar el servicio de Docker:
systemctl start docker
Para verificar que Docker Engine está instalado y funciona correctamente, lanzamos el contenedor de Hello World:
docker run hello-world
Como habéis podido ver, la instalación es muy sencilla. Pero si necesitáis más información y detalles sobre la instalación de Docker en Centos u otros sistemas, ahí os dejo el enlace.
Instalar Docker Compose
Ahora instalaremos Docker Compose para poder crear las recetas de nuestros contenedores. Así podremos desplegar aplicaciones con su Apache, PHP y MySQL todo de una vez, y al mismo, instalar un WordPress por ejemplo, todo dentro de un contenedor.
Descargamos una versión estable de Docker Compose:
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Damos permisos de ejecución al binario:
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Comprobamos la instalación
docker-compose --version
docker-compose version 1.29.2, build 5becea4c
Más información sobre la instalación de Docker Compose en linux u otros sistemas.
Instalar Portainer
Para instalar Portainer, como gestor de contenedores, primero tenemos que crear un volumen para él:
docker volume create portainer_data
El siguiente comando ejecuta Portainer. Podemos cambiar el puerto donde se publicará si vemos que ya lo estamos usando con otro contenedor. El puerto seleccionado en mi caso es el 8001.
docker run -d -p 8001:8001 -p 9443:9443 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
cr.portainer.io/portainer/portainer-ce:2.9.3
Para comprobar su instalación, vemos los contenedores que se han lanzado:
docker ps
Más información sobre cómo instalar Docker Portainer.
Para entrar en la interfaz web de Portainer, metemos la ip y el puerto 9443 en el navegador:
El usuario y contraseña es admin / admin.
Desde el dashboard tendremos información general sobre nuestro entorno Docker: número de contenedores, imágenes, volúmenes de datos, redes, etc.
Y por ejemplo, desde el listado de contenedores, podremos gestionarlos directamente con la interfaz. Podremos parar o arrancar un contenedor y conocer su url pública para acceder al servicio que esté ofreciendo. De esta forma, tendremos toda la información de un solo vistazo sin necesidad de estar lanzando comandos desde consola.
Conclusiones
Para esta introducción de gestión de contenedores con Docker, hemos visto montar la infraestructura mínima necesaria. Hemos visto cómo instalar Docker Engine, cómo instalar Docker Compose, y cómo instalar una interfaz web para la gestión de los contenedores. En próximos tutoriales veremos cómo crear algunas imágenes con Docker Compose, y cómo ejecutaremos esos contenedores para que nuestras aplicaciones se pongan a funcionar rápidamente.