Conceptos básicos de Docker
Dado que diferentes máquinas tienen diferentes sistemas operativos, así como diferentes bibliotecas y componentes, implementar una aplicación en varias máquinas requiere una gran cantidad de operaciones de configuración del entorno.
Docker resuelve principalmente problemas de configuración del entorno. Es una tecnología de virtualización que aísla procesos que son independientes del sistema operativo host y de otros procesos aislados. Con Docker, puede implementar aplicaciones existentes en otras máquinas sin modificar el código de la aplicación y sin requerir que los desarrolladores aprendan la tecnología de un entorno específico.
Una máquina virtual también es una tecnología de virtualización. La mayor diferencia entre esta y Docker es que se implementa simulando hardware e instalando un sistema operativo en el hardware.
1. Velocidad de inicio
Iniciar una máquina virtual requiere primero iniciar el sistema operativo de la máquina virtual y luego iniciar la aplicación. Este proceso es muy lento.
Inicio; Docker es bastante Para iniciar un proceso en el sistema operativo host.
2. Ocupación de recursos
Una máquina virtual es un sistema operativo completo que requiere una gran cantidad de recursos de disco, memoria y CPU. Una máquina sólo puede abrir decenas de máquinas virtuales.
Docker es solo un proceso. Solo necesita empaquetar aplicaciones y componentes relacionados. Ocupa muy pocos recursos durante el tiempo de ejecución. Una máquina puede abrir miles de Dockers.
Además de un inicio rápido y un bajo uso de recursos, Docker tiene las siguientes ventajas:
1. Migración más sencilla
Proporciona un entorno operativo consistente. Las aplicaciones empaquetadas se pueden migrar a diferentes máquinas sin preocuparse por la inoperancia causada por cambios ambientales.
2. Más fácil de mantener
El uso de tecnología de capas y espejo facilita que las aplicaciones reutilicen piezas repetidas. Cuanto mayor sea el grado de reutilización, más fáciles serán los trabajos de mantenimiento.
3. Más fácil de expandir
Puede usar la imagen básica para expandirla aún más y obtener nuevas imágenes, y las comunidades oficiales y de código abierto proporcionan una gran cantidad de imágenes al extenderlas. imágenes, podemos obtener fácilmente nuestra imagen deseada.
Integración continua
La integración continua se refiere a la integración frecuente de código en el tronco, para que los errores se puedan descubrir más rápido.
Docker es liviano y está aislado. La integración de código en un Docker no afectará a otros Dockers.
Proporcione servicios en la nube escalables.
Docker se puede aumentar o disminuir fácilmente dependiendo de la carga de la aplicación.
Construcción de una arquitectura de microservicios
La naturaleza liviana de Docker lo hace muy adecuado para implementar, mantener y combinar microservicios.
El espejo es una estructura estática, que puede considerarse como una clase orientada a objetos, y el contenedor es una instancia del espejo.
La imagen contiene el código y otros componentes necesarios para que se ejecute el contenedor. Es una estructura jerárquica y cada capa es de solo lectura (capas de solo lectura). Al construir una imagen, se construye capa por capa, siendo la capa anterior la base para la siguiente. Esta estructura de almacenamiento jerárquico de imágenes es muy adecuada para la reutilización y personalización de imágenes.
Al construir un contenedor, se agrega una capa grabable a la imagen para guardar las modificaciones durante la ejecución del contenedor.