Cómo a utilizar Docker sin conocimientos previos – Parte 2 de 2
2022-10-26 15:0:18 Author: thehackerway.com(查看原文) 阅读量:16 收藏

Demostración en vídeo de este post:

En el primer post he explicado en funcionamiento de Docker así como la relación que tienen las imágenes y contenedores. En éste post verás cómo trabajar con volúmenes y redes. Creo que con estas bases tendrás lo necesario para empezar a trabajar con Docker y explorar sus características básicas.

En el post anterior mencionaba que los contenedores son «efímeros», que se pueden crear y destruir muy fácil y rápidamente. Sin embargo, en ocasiones la información que se almacena en ellos se debe conservar y claro, cuando se elimina el contenedor la información que hay en él se destruye también. Por ese motivo, el objetivo de los volúmenes es el de conservar la información aunque el contenedor se destruya y para hacerlo, se crea un «enlace» entre el sistema host y el contenedor. Dicho «enlace», no es más que un directorio que se encuentra disponible en la máquina host y se monta en una ruta concreta dentro del contenedor, muy similar a una carpeta compartida en VirtualBox u otros sistemas de virtualización. La forma más sencilla de crear un volumen es utilizando la opción «-v» e indicando el directorio en el host y el punto de montaje en el contenedor separado por dos puntos.

En la imagen anterior puedes ver que se crea un fichero en el directorio /tmp/volume llamado «test.txt» y luego, se crea un contenedor que monta dicho directorio en «/container_mount». Se puede ver que desde el contenedor es posible acceder al fichero que está en el sistema host y además, desde el contenedor, se puede crear un nuevo fichero en dicha ruta que posteriormente es visible en el sistema host. De esta forma, si por ejemplo el contenedor debe levantar una base de datos, sus «datafile» se pueden almacenar en un volumen y así no se perderán en el caso de destruir el contenedor. Por defecto los volúmenes son de lectura y escritura, pero se puede poner la opción «ro» como lo siguiente para que sean de solo lectura:
-v /directorio_host:/punto_montaje_contenedor:ro

Otra característica importante en Docker son las redes. Por defecto, todos los contenedores se vinculan a una red del tipo «bridge», la cual se encuentra aislada del entorno de red del host por cuestiones de seguridad. Estas redes son virtuales y gestionadas por el servicio de Docker, permiten que los contenedores se comuniquen. Las redes en Docker se encargan de la asignación automática de direcciones a cada contenedor y cuentan con un DNS que permite que los contenedores puedan comunicarse utilizando sus correspondientes nombres en lugar de direcciones IP. Crear redes y utilizarlas es muy simple, un ejemplo lo puedes ver en la siguiente imagen

Se puede ver cómo se crean dos contenedores partiendo de la imagen «nginx» y a continuación, se crea una red en el servicio de Docker en la que se conectan ambos contenedores. Luego, se puede ver cómo desde uno de estos contenedores se realiza una petición HTTP al otro utilizando «curl», no hace falta indicar la dirección IP del segundo contenedor, solo es necesario el nombre que se le ha asignado y la red de Docker se encarga de la resolución.

Con estos dos posts tienes suficiente para empezar a moverte con los contenedores, imágenes, redes y volúmenes en Docker. Son las características más básicas de esta tecnología y el punto de partida para aprender otras cuestiones más complejas sobre contenedores, Docker, DevOps y DevSecOps.

Un saludo y Happy Hack!
Adastra.


文章来源: https://thehackerway.com/2022/10/26/como-a-utilizar-docker-sin-conocimientos-previos-parte-2-de-2/
如有侵权请联系:admin#unsafe.sh