En la
primera parte de la traducción de la serie Docker, presentamos una descripción general de este sistema. En particular, hablamos sobre por qué las tecnologías de contenedorización son importantes hoy en día, sobre qué son los contenedores Docker y con qué se pueden comparar. Hoy hablaremos sobre el ecosistema Docker y veremos los términos importantes que puede encontrar al aprender y usar Docker. Continuando la analogía con diferentes cosas, imagina que nuestros términos son donas. Una docena de donas.
→
Parte 1: lo básico→
Parte 2: términos y conceptos→
Parte 3: archivos Dockerfile→
Parte 4: reducir el tamaño de las imágenes y acelerar su ensamblaje→
Parte 5: equipos→
Parte 6: trabajar con datosTérminos del ecosistema Docker
He dividido los términos que puede encontrar al trabajar con Docker en dos partes. Creo que esto los hará más fáciles de recordar. El primer bloque de términos se referirá a los mecanismos de Docker. El segundo es escalar soluciones basadas en contenedores.
Mecanismos de acoplamiento
▍ Plataforma Docker
DockerLa Plataforma Docker (Plataforma
Docker ) es un programa que nos permite empaquetar aplicaciones en contenedores y ejecutarlas en servidores. La plataforma Docker le permite poner código y sus dependencias en contenedores. Como resultado, los sistemas basados en contenedores son fáciles de escalar ya que los contenedores se pueden transportar y reproducir.
▍Motor Docker
MotorDocker
Engine (
Docker Engine ) es una aplicación cliente-servidor. Docker ha dividido el motor Docker en dos productos.
Docker Community Edition (CE) es un programa gratuito basado principalmente en
herramientas de código abierto .
Probablemente usará esta versión particular de Docker.
Docker Enterprise es una versión paga del sistema que brinda a los usuarios capacidades adicionales en las áreas de soporte, administración y seguridad del sistema. La versión paga de Docker le da a la compañía los medios necesarios para su existencia.
▍Cliente acoplable
Cliente Docker y otros mecanismos del ecosistema (tomados de la documentación )Docker
Client es la herramienta principal utilizada para interactuar con Docker. Entonces, cuando se trabaja con la
interfaz de línea de comandos de Docker (CLI), los comandos se ingresan en el terminal que comienzan con la palabra clave
docker
, en referencia al cliente. El cliente luego usa la API de Docker para enviar comandos al demonio Docker.
▍Demonio Docker
El Docker
Daemon (
Docker Daemon ) es un servidor Docker que escucha las solicitudes a la API de Docker. El demonio Docker administra imágenes, contenedores, redes y volúmenes.
▍Toma Docker
TomaDocker Volumes es el mecanismo preferido para almacenar permanentemente los datos consumidos o producidos por las aplicaciones.
▍ Registro de Docker
Docker Registry (
Docker Registry ) es una plataforma remota utilizada para almacenar imágenes de Docker. Cuando se trabaja con Docker, las imágenes se envían al registro y se descargan de él. Los que usan Docker pueden organizar un registro similar. Además, los proveedores de servicios en la nube pueden mantener sus propios registros. Por ejemplo, esto se aplica a
AWS y
Google Cloud .
▍Docker Hub
Docker Hub es el mayor registro de imágenes de Docker. Además, es este registro el que se utiliza cuando se trabaja con Docker de forma predeterminada. Puede usar Docker Hub de forma gratuita.
▍ Repositorio de Docker
Un
repositorio de Docker es una colección de imágenes de Docker que comparten el mismo nombre y etiqueta. Las etiquetas son identificadores de imágenes.
Por lo general, los repositorios almacenan diferentes versiones de las mismas imágenes. Por ejemplo,
Python es el nombre del repositorio oficial de Docker más popular en el centro de Docker. Y aquí está Python: 3.7-slim es la versión de la imagen con la etiqueta 3.7-slim en el repositorio de Python. Puede enviar todo el repositorio o una imagen separada al registro.
Ahora hablemos de los términos del ecosistema Docker relacionados con el escalado.
Escalado de soluciones basadas en contenedores
Los siguientes cuatro términos se refieren al uso simultáneo de múltiples contenedores.
▍ Red Docker
Red Docker (tomada de la documentación )Los mecanismos de
Docker Networking (
Docker Networking ) permiten la comunicación entre contenedores Docker. Los contenedores conectados a la red pueden ejecutarse en el mismo host o en diferentes hosts. Los detalles sobre el subsistema de red Docker se pueden encontrar
aquí .
▍Docker Compose
Docker Compose es una herramienta que simplifica la implementación de aplicaciones que requieren la ejecución de múltiples contenedores Docker. Docker Compose le permite ejecutar los comandos descritos en el
docker-compose.yml
. Estos comandos se pueden ejecutar tantas veces como sea necesario. La interfaz de línea de comandos de Docker Compose facilita la interacción con aplicaciones de contenedores múltiples. Esta herramienta se instala al instalar Docker.
▍Enjambre Docker
Enjambre de abejasDocker Swarm es una solución para administrar implementaciones de contenedores (es decir, como dicen, para orquestar contenedores). Aprenda sobre Docker Swarm en este tutorial oficial de Docker. Te recomendaría que no pierdas el tiempo explorando Docker Swarm si no tienes una buena razón.
▍ Servicios de Docker
Los servicios Docker son varias partes de una aplicación distribuida. Esto es lo
que dice la
documentación sobre ellos:
Los servicios son solo "contenedores en producción". Solo se ejecuta una imagen dentro del servicio, pero el servicio determina cómo se ejecuta la imagen. En particular, estamos hablando de qué puertos deben usarse, cuántas réplicas del contenedor deben realizarse para que el servicio proporcione la potencia informática necesaria, y así sucesivamente. El escalado de los servicios implica cambiar el número de instancias del contenedor en el que se ejecuta un determinado programa, por lo que el servicio se asigna tantos recursos del sistema como sea necesario para resolver un determinado problema.Los servicios Docker le permiten escalar contenedores dentro de varios demonios Docker, y también existe la tecnología Docker Swarm.
Lista corta de términos
En pocas palabras, repitamos los términos que le acabamos de presentar:
Mecanismos de acoplamiento:
- Plataforma Docker: software que le permite trabajar con contenedores.
- El motor Docker es una aplicación cliente-servidor (CE o Enterprise).
- Docker Client es un programa que le permite interactuar con el demonio Docker a través de la CLI.
- El demonio Docker es el servidor Docker responsable de administrar los mecanismos clave del sistema.
- Tom Docker es una tienda de información utilizada en contenedores.
- El registro Docker es un repositorio remoto de imágenes.
- Docker Hub es el registro de Docker más grande utilizado por defecto.
- Repositorio: una colección de imágenes de Docker con el mismo nombre.
Escalamiento:
- El subsistema de red Docker es un entorno que le permite organizar la interacción de los contenedores.
- Docker Compose es una tecnología que simplifica el trabajo con aplicaciones de contenedores múltiples.
- Docker Swarm es una herramienta de gestión de despliegue de contenedores.
- Los servicios de Docker son contenedores en producción.
Dijimos anteriormente que veremos una docena de términos del ecosistema Docker comparándolos con una docena de donas. Ya hemos revisado 12 términos, y parece que podemos detenernos aquí. Pero por
si acaso , agregaremos otro término a nuestra lista.
Aquí, por si acaso, otra donaEste término no se refiere a la plataforma Docker en sí, sino a una tecnología que se usa muy a menudo junto con Docker.
Kubernetes
KubernetesKubernetes es una tecnología que automatiza la implementación, el escalado y la administración de aplicaciones en contenedores. Es el líder indiscutible del mercado en productos de orquestación de contenedores. Si necesita una herramienta para trabajar con grupos de contenedores, para escalar soluciones basadas en ellos, use Kubernetes en lugar de Docker Swarm. Kubernetes no es parte de Docker. Ellos y Docker son más como mejores amigos.
Ahora que se ha familiarizado con los conceptos generales de Docker y con la terminología, puede comenzar experimentos prácticos.
En pocas palabras: hornee donas con Docker
¿Recuerdas cómo la última vez que comparamos la plataforma Docker con el horno, que está instalado en la cocina? Ahora es el momento de instalar Docker en su "cocina" y cocinar algo.
Docker se puede ejecutar localmente en Linux, Mac y Windows. Si está utilizando una Mac o Windows, puede instalar la última versión de Docker Desktop
desde aquí . Junto con este programa, por cierto, Kubernetes también está instalado. Si está instalando Docker en una plataforma diferente, consulte
aquí para encontrar una versión adecuada.
Después de instalar Docker, eche un vistazo a las dos primeras partes de la
guía oficial .
La próxima vez seguiremos hablando de Docker. En particular, hablemos de los archivos Dockerfile.
Estimados lectores! Si, al leer los materiales de esta serie, descubre Docker, cuéntenos cómo planea utilizar las tecnologías de contenedorización de aplicaciones.
