← Volver al índice Pez Ejecutivo

Apuntes de Docker

Apuntes creados por Pablo Valladares González.

Docker

Información basica.

Docker es una plataforma que permite crear, enviar y ejecutar aplicaciones en contenedores, que son entornos ligeros y aislados. Esto asegura que las aplicaciones funcionen de manera consistente en diferentes entornos, facilitando la portabilidad y la gestión eficiente de recursos.

En caso de que queramos utilizar docker en Windows tendremos que descargar Docker Engine y tenerlo abierto a la hora de utilizar docker, de otra manera, no funcionara. Cuando tengamos Docker instalado usaremos docker --version para verificar la instalación.

docker --version
Muestra el resultado del comando docker --version

Otras de las maneras de asegurarnos que Docker funciona correctamente sera utilizando un comando basico de docker el cual es docker run hello-world. En caso de que nos proporcione de manera adecuada el resultado del comando (similar al de la imagen) sabremos que tenemos una instalación de docker completamente funcional.

docker run hello-world
Muestra el resultado del comando docker run hello-world

Docker image.

Una imagen de Docker es un archivo que contiene todo lo necesario para ejecutar una aplicación, incluyendo el código y sus dependencias. Es inmutable y se utiliza para crear contenedores, que son instancias en ejecución de la imagen. Las imágenes se pueden almacenar y compartir fácilmente.

Despues de haber hecho el segundo comando de verificación antes mencionado (docker run hello-world), esto nos habra descargado una imagen de docker, aunque al principio puede parecer que no vayamos a tener muchas, esto puede llegar a complicarse, para ello tenemos el comando docker image ls para poder ver todas y cada una de las imagenes que tenemos descargadas.

docker image ls
Muestra el resultado del comando docker image ls

Aunque podemos ejecutar un comando de run con el nombre de la imagen y esta se descargara automaticamente en caso de que no la tengamos, puede que te preguntes ¿Y si no se el nombre de la imagen? Para ello se creo Docker hub. Una galeria de todas las imagenes validadas donde buscar la que te interese.

Muestra la pagina web de docker hub

Por norma general en el propio Docker hub te mostraran el como se descarga una imagen, pero si no quieres ir hasta docker hub para buscar el comando, es tan sencillo como hacer docker pull nombre_imagen, aunque esto puede que no sea lo más optimos ya que hay imagenes que requieren de ciertas caracteristicas para funcionar adecuadamente (como el mapeo de puertos) por lo que puede ser util en algunas ocasiones.

docker pull nombre_imagen
Muestra el resultado del comando docker

Esto llega a ser bastante util en multiples situaciones pero, y ¿si queremos descargar una version en especifico en vez de la ultima versión de dicha imagen? Solamente tendremos que poner :numero_version. Como podria ser nginx:2.16

docker pull nombre_imagen:numero_version
Todavia por desarrollar

En caso de que te hayas confundido o quieras borrar una imagen que hemos descargado con anterioridad porque ya no sea util o nos hayamos confundido, esto lo podremos hacer con el comando docker rmi nombre_imagen o docker image remove nombre_imagen

docker rmi nombre_imagen
Todavia por desarrollar

Docker volume.

Docker Volume es una característica que permite almacenar datos de forma persistente y compartirlos entre contenedores. A diferencia de los sistemas de archivos efímeros de los contenedores, los volúmenes aseguran que los datos se mantengan incluso si el contenedor se elimina.

Una vez ya sabemos lo que son los volumenes es la hora de saber como crearlos para poder utilizarlos de manera adecuada, esto nos puede ser muy util sobretodo para bases de datos o guardar datos. Para crear un volumen en docker usaremos docker volume create nombre_volumen

docker volume create nombre_volumen
Todavia por desarrollar

Ahora necesitaremos saber cuales son los volumenes que tenemos, por norma general la mayoria de caracteristicas de docker funcionan de manera similar a la hora de operar con ellos, es decir, al igual que docker image, docker volume tiene un listado con ls, para poder ver todos los volumenes creados.

docker volume ls
Todavia por desarrollar

Una vez tenemos el volumen creado y sabemos como listarlo para ver los nombres, vamos a utilizarlos, para ello hay dos formas de hacerlo, con el comando -v, que es la versión corta o el comando --mount, que es la versión larga.

Para montarlo con -v solamente tendremos que poner -v nombre_volumen:/ruta y con --mount seria: --mount source=nombre_volumen,target=/ruta, para que el contenedor utilice dicho volumen, hay que inciar el contendor con dicho volumen, es decir, el comando final si solo queremos añadirle el volumen seria algo similar a:

docker run -dit -v nombre_volumen:/ruta nginx
docker run -dit --mount source=nombre_volumen,target=/ruta nginx
Todavia por desarrollar

Para evitar que se acumulen demasiados volumenes, los cuales pueden llegar a tener mucho contenido por lo que represente un consumo de espacio que puede llegar a ser abrumador o demasiado, para este tipo de situaciones podremos usar docker volume remove nombre_volumen o en caso de que queramos borrar todos y cada uno de los volumenes que no se esten usando, utilizaremos docker volume prune

docker volume remove nombre_volumen
docker volume prune
Todavia por desarrollar

Docker network.

Docker Networks permite la comunicación entre contenedores a través de redes virtuales. Ofrece tipos como bridge, host, overlay y macvlan, facilitando la configuración y el aislamiento de la red para aplicaciones distribuidas.

Ejemplos avanzados.

En construcción

Dockerfile

Información basica.

En construcción

Docker-compose

Información basica.

En construcción

Advertencia

Esta página no promueve o incita a cometer ninguna acción ilegal, todo el contenido proporcionado está diseñado para ser solamente educativo.