Bienvenido a este taller básico de Docker, esta divido en varias secciones, para que tengas una introducción rápida al uso de Docker para crear containers.
Tener una máquina virtual o instancia en cualquier proveedor de nube como Google Cloud, Azure, Amazon o Digital Ocean, o bien una máquina virtual local. De preferencia con Ubuntu 18.04LTS para estandarizar errores a una distribución y dar soporte en el taller. En este caso utilizaré Digital Ocean.
Una vez tienes tu instancia y acceso a SSH de la misma, ingresa a la misma. Ejecuta como root o con permisos de root el siguiente comando, para actualizar los repositorios en la máquina virtual recién creada:
apt-get update
Luego ejecuta el siguiente comando para instalar Docker
apt-get install docker.io
Luego iniciar el servicio si esta apagado con:
/etc/init.d/docker start
Para bajar una imagen utilizamos el comando docker pull, en este caso bajaremos la imagen de Ubuntu 18.04 para esto ejecutamos el comando:
docker pull ubuntu:18.04
Donde ubuntu es el repositorio y el tag a bajar es 18.04, para mayor referencia puedes visitar https://hub.docker.com/ y bajar la imagen que necesites con el tag que necesites
Para crear una imagen debes de utilizar el comando docker run, en este caso crearemos un container con Ubuntu 18.04 y ejecutaremos dentro el comando /bin/bash, el cual es una consola o terminal, nótese que al terminar la ejecución del /bin/bash con exit, el comando con el que fue creado el container termina su ejecución y el container es finalizado con el estado exit(0), finalizado más no eliminado
docker run -it ubuntu:18.04 /bin/bash
Al ser creado el container creara un id único, el cual puedes obtener cuando se coloca el nuevo prompt, al terminar de ejecutar el comando anterior, verás algo como:
root@e6b272bfcbc2:/#
Puedes realizar distintas operaciones con este id, regularmente solo necesitarás las primeras 3 o 4 letras del mismo.
Continuando, luego ejecuta dentro del container el comando ls para mostrar los archivos actuales en la carpeta que te encuentres
ls
En otra terminal ingresa y ejecuta el comando docker ps -a podrás ver que dicho container se encuentra en estado activo: verás una salida como la siguiente:
docker ps -a
Luego en la línea de comandos del container escribe exit, para salir y finalizar el container
exit
Ahora revisa el nuevamente los containers corriendo en otra terminal con:
docker ps -a
Ahora verás que el estado es exit, es decir la ejecución del container finalizo, pero no ha sido destruido.
Ahora para volver a iniciar el container ejecuta:
docker start id_container
Esto reinicia la ejecución de container con el id que hallas colocado
Ahora para volver a ingresar, puedes ejecutar
docker exec -it id_container /bin/bash
Y esto ejecutara una nueva consola adicional a la que está ejecutándose por el /bin/bash inicial, y no afectara si la finalizas con exit, el container seguirá ejecutándose.
Para detener el container puedes ejecutar el comando:
docker stop id_container
Esto solo detendrá su ejecución pero no lo eliminará
Para poder eliminar y borrar el container debes de ejecutar el siguiente comando:
docker rm id_container
Para poder eliminarlo debes detener primero el container. En algunos casos debes usar la opción -f para forzar que se borre, según las dependencias con otras imágenes o containers. Puedes comprabar que ya no exista con el comando:
docker ps -a