Bueno, es mentira, no esta todo, lamento desilusionarte mi querida ardilla.
Pero, a pesar de esto, es una guía con bastantes comandos como para atesorar entre tus bienes mas preciados, compartir, recomendar, acompañar con una cerveza (?), etc.
Vamos a lo nuestro, ya se, nadie lee el principio ¬¬
¿Que es Docker?
Supongo que ya lo sabes, sino te lo digo, así a grandes rasgos Docker es un administrador de contenedores ligeros y portables, la idea de Docker es que estos contenedores puedan ejecutarse en cualquier máquina con Docker instalado, independientemente del sistema operativo de la misma y sin necesidad de estar viendo si la otra maquina donde queremos ejecutar nuestra aplicación cuenta con el software necesario para poder ejecutarla.
La funcionalidad de Docker, creo, que es a partir del Kernel 3.10, y los containers (si no estoy equivocado y si lo estoy me corrigen) nacen en 2009/2010 y Docker en el 2013. Docker llega directo al kernel no necesita un hypervisor.
Ya se, estas sudando, queres instalar Docker ya, te tiemblan las manos, estas realmente ansioso. Pasemos a esa parte:
Instalar Docker en Debian (Acá dejo un link para instalar Docker en Centos). Primero, instalamos las dependencias necesarias, agregamos las claves GPG, el repositorio estable de Docker y actualizamos:
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common build-essential
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian buster stable"
sudo apt-get update
Luego, instalamos Docker:
sudo apt-get install -y docker-ce docker-ce-cli
Ya tenemos Docker instalado, ahora podemos conquistar el mundo (?).
¿Que hizo acá? Vio que no teníamos ninguna imagen llamada hello-world, entonces fue a buscarla al repositorio para descargarla localmente y luego poder ejecutarla.
Con esto ya saben que existe un repositorio de imágenes que pueden usar.
Si volvemos a ejecutar el comando anterior, vemos únicamente el resultado de la imagen (no la vuelve a descargar).
Ahora vamos a ver que otra imagen descargar.
En esta página (Docker Hub) hay decenas de imágenes para instalar. Un contenedor es un proceso que se levanta a partir de
una imagen.
sudo docker images
Ahora vamos a levantar un contenedor con esta imagen:
docker run --name MiWordpress -p 8080:80 -d wordpress
El -d es vital, porque es para que se ejecute en segundo plano, sin esto no vas a poder interactuar con la terminal. El --name es para ponerle un nombre mas descriptivo y que nos guste, podrías ponerle Ramón (?).
Y el -p 8080:80 indica que cuando te conectas al puerto 8080 de tu equipo en realidad te estas conectando al 80 del contenedor. Lo ultimo (wordpress) es el nombre de la imagen a partir de la cual vamos a levantar el contenedor.
Para acceder escribimos en un navegador:
http://localhost:8080
No es la idea del post, pero si siguen el asistente van a tener un Wordpress funcional para probar un montón de cosas (?). Aca estan los pasos que siguen.
Si no tienen interfaz gráfica pueden probar con lynx que es un navegador que funciona desde la terminal:
lynx localhost:8080
Creanme que es Wordpress ¬¬, y si alguien les mira la pantalla les dicen que son hackers y después me lo comentan en el post así nos reímos juntos (?).
Bueno, ahora vamos con algunos comandos útiles:
Borrar imagen de Docker:
docker rmi nombredelaimagen
Lanzar contenedor e iniciar sesión en el mismo:
docker run --name MyWordpress -it wordpress /bin/bash
Este ultimo comando esta bueno, porque te da una shell bash en el contenedor y básicamente podes navegar por todo ese "linux minimalista" que lo corre:
Ver todos los procesos activos:
docker ps -a
Podemos ver en la imagen que hay 4 contenedores, uno corriendo (el de Wordpress) y 3 contenedores que estaban activos y ya no lo están. Y no, la traducción no es excitado ¬¬
Para saber la ip de un contenedor:
docker inspect nombrecontenedor
Van a ver varias lineas con información del contenedor, entre ella su dirección ip:
Pueden obtenerla directamente filtrando la salida con grep:
docker inspect WordpressARDILLASENLARED | grep 'IPAddress'
Eliminar contenedor:
docker rm nombrecontenedor
Reiniciar, detener e iniciar contenedor:
docker restart nombrecontenedor
docker stop nombrecontenedor
docker start nombrecontenedor
Para conectarse al contenedor con una shell bash:
docker exec
-it nombrecontenedor /bin/bash
Usar con cuidado este comando, sirve para eliminar todos los contenedores detenidos, las redes que no están siendo utilizadas y sus imágenes colgadas:
docker system prune
Para ver los logs de un contenedor ejecutamos:
docker logs nombredelcontenedor
Crear backup de un contenedor:
docker commit -p iddelcontenedor nombredelarchivodebackup
Guardarlo en un archivo .tar para moverlo a cualquier maquina con Docker:
docker save -o ~/nombrecontenedor.tar nombrecontenedorbackupeado
Restaurar backup del contenedor (vamos a poder ver la imagen con docker images a partir de la cual podemos levantar un nuevo contenedor con docker run):
docker load -i nombredelarchivodebackup.tar
Podría seguir hasta el fin del los tiempos (?), pero es todo por hoy.
Compartí, no seas malo ni egoísta, dale, ¿que te cuesta?
Si lo hace vas a motivarme, y el próximo post de Docker va a ser mucho mejor (?)
Saludos cordiales (?)
No hay comentarios:
Publicar un comentario