Herramientas de usuario

Herramientas del sitio


informatica:sistemas_operativos:cursos:docker_avanzado:fundamentos_docker

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
informatica:sistemas_operativos:cursos:docker_avanzado:fundamentos_docker [2023/10/10 17:46] tempwininformatica:sistemas_operativos:cursos:docker_avanzado:fundamentos_docker [2023/10/10 17:57] (actual) tempwin
Línea 3: Línea 3:
 Contenido perteneciente al curso [[informatica:sistemas_operativos:cursos:docker_avanzado|Docker avanzado]]. Contenido perteneciente al curso [[informatica:sistemas_operativos:cursos:docker_avanzado|Docker avanzado]].
  
-Arquitectura Docker +===== Docker Engine =====
-El Docker Daemon +
-u El Docker daemon (dockerd) escucha las solicitudes de la API de Docker y +
-gestiona los objetos de Docker, como imágenes, contenedores, redes y +
-volúmenes. +
-u Un daemon también puede comunicarse con otros daemons para administrar +
-los servicios de Docker. +
-El Cliente Docker +
-u El cliente Docker (docker) es la forma principal en que muchos usuarios de +
-Docker interactúan con Docker +
-u Cuando se utilizan comandos como docker run, el cliente envía estos +
-comandos a dockerd, que los lleva a cabo +
-u El comando docker usa la API Docker. El cliente de Docker puede +
-comunicarse con más de un daemon +
-Los registros de Docker +
-u Un registro de Docker almacena imágenes de Docker +
-u Docker Hub y Docker Cloud son registros públicos que cualquiera puede usar +
-u Docker está configurado para buscar imágenes en Docker Hub de manera +
-predeterminada. Incluso podemos ejecutar nuestro propio registro privado +
-u Los comandos docker pull o docker run, las imágenes necesarias se +
-extraen del registro configurado +
-Objetos Docker: Contenedores +
-u Un contenedor es una instancia ejecutable de una imagen +
-u Se puede crear, iniciar, detener, mover o eliminar un contenedor utilizando la +
-API Docker o el CLI +
-u Se puede conectar un contenedor a una o más redes, adjuntarle +
-almacenamiento o incluso crear una nueva imagen en función de su estado +
-actual +
-u Relativamente bien aislado de otros contenedores y su máquina host +
-u Se define por su imagen y por las opciones de configuración que se le +
-proporciona cuando se crea o inicia +
-u Cuando se elimina un contenedor, desaparecen los cambios en su estado que +
-no se almacenan en el almacenamiento persistente +
-Objetos Docker: Imágenes +
-u Una imagen es una plantilla de 'solo lectura' +
-con instrucciones para crear un contenedor +
-Docker +
-u A menudo, una imagen se basa en otra +
-imagen, con alguna personalización +
-adicional. Por ejemplo, se puede compilar +
-una imagen basada en la imagen Ubuntu, +
-pero que instala el servidor web Apache y +
-nuestra aplicación, así como los detalles de +
-configuración necesarios para ejecutar +
-nuestra aplicación +
-Objetos Docker: Servicios +
-u Los servicios permiten escalar contenedores a través de múltiples demonios +
-Docker, que trabajan juntos como un enjambre con múltiples gerentes y +
-trabajadores +
-u Cada miembro de un enjambre es un demonio Docker, y todos los demonios se +
-comunican mediante la API Docker +
-u Permite definir el estado deseado, como el número de réplicas del servicio +
-que deben estar disponibles en un momento dado +
-u De manera predeterminada, el servicio tiene balanceo de carga en todos los +
-nodos de trabajo +
-u Para el usuario, el servicio Docker parece ser una sola aplicación +
-Docker Engine admite el modo enjambre en Docker 1.12 y superior +
-Dockerfile +
-u Se utilizan para crear imágenes de contenedor +
-u Un Dockerfile es un documento de texto que contiene toda la información de +
-configuración y los comandos necesarios para ensamblar una imagen de +
-contenedor (tarea que realiza el +
-Docker Daemon)+
  
-Namespaces +Es una aplicación cliente-servidor compuesta por 3 elementos: 
-u Docker usa un conjunto de namespaces para garantizar el aislamiento de + 
-cada contenedor +  * Docker Daemon (comando ''dockerd''
-Docker Engine usa espacios de nombres como los siguientes en Linux: +  * Un API REST 
-El espacio de nombres pid: aislamiento del proceso (PID: ID del proceso). +  * El cliente (comando docker) de la interfaz de línea de comando 
-El espacio de nombres de red: Gestión de interfaces de red (NET: Redes). + 
-El espacio de nombres de IPC: gestión del acceso a los recursos de IPC (IPC: +El Cliente Docker y el Daemon pueden ejecutarse en la misma máquina, o el cliente se puede conectar a un Docker  
-comunicación entre procesos). +Daemon remoto 
-El espacio de nombres mnt: Gestión de puntos de montaje del sistema de archivos + 
-(MNT: Mount). +===== Docker Daemon ===== 
-El espacio de nombres uts: Aislamiento del núcleo y los identificadores de versión. + 
-(UTS: Sistema de tiempo compartido Unix). +El Docker daemon (''dockerd'') escucha las solicitudes de la API de Docker y gestiona los objetos de Docker, como imágenes, contenedores, redes y volúmenes. 
-Control de grupos cgroups + 
-Un +Un daemon también puede comunicarse con otros daemons para administrar los servicios de Docker. 
-cgroup limita una aplicación a un conjunto específico de recursos + 
-Estos grupos permiten que Docker Engine comparta los recursos de hardware +===== El Cliente Docker ===== 
-disponibles con los contenedores y, opcionalmente, imponga límites y + 
-restricciones +El cliente Docker (docker) es la forma principal en que muchos usuarios de Docker interactúan con Docker 
-Por ejemplo, se puede limitar la cantidad de memoria disponible para un + 
-contenedor específico +Cuando se utilizan comandos como docker run, el cliente envía estos comandos a dockerd, que los lleva a cabo 
-Sistema de unión de ficheros +El comando docker usa la API Docker. El cliente de Docker puede comunicarse con más de un daemon 
-Los sistemas de unión de ficheros, o UnionFS, son sistemas de archivos que + 
-operan creando capas, haciéndolos muy livianos y rápidos +===== Los registros de Docker ===== 
-Docker Engine utiliza UnionFS para proporcionar los bloques de construcción + 
-para contenedores +Un registro de Docker almacena imágenes de Docker 
-Docker Engine puede usar múltiples variantes de UnionFS, incluidas AUFS, + 
-btrfs, vfs y DeviceMapper +Docker Hub y Docker Cloud son registros públicos que cualquiera puede usar 
-Formato contenedor + 
-Docker Engine combina los +Docker está configurado para buscar imágenes en Docker Hub de manera predeterminada. Incluso podemos ejecutar nuestro propio registro privado 
-namespaces, + 
-cgroups y +Los comandos docker pull o docker run, las imágenes necesarias se extraen del registro configurado 
-UnionFS en un contenedor + 
-llamado formato contenedor +===== Objetos Docker ===== 
-El formato de contenedor predeterminado es libcontainer + 
-En el futuro, Docker puede admitir otros formatos de contenedor al integrarse +==== Contenedores ==== 
-con tecnologías como BSD Jails o Solaris Zones.+ 
 +Un contenedor es una instancia ejecutable de una imagen  
 + 
 +Se puede crear, iniciar, detener, mover o eliminar un contenedor utilizando la API Docker o el CLI 
 + 
 +Se puede conectar un contenedor a una o más redes, adjuntarle almacenamiento o incluso crear una nueva imagen en función de su estado actual  
 + 
 +Relativamente bien aislado de otros contenedores y su máquina host 
 + 
 +Se define por su imagen y por las opciones de configuración que se le proporciona cuando se crea o inicia 
 + 
 +Cuando se elimina un contenedor, desaparecen los cambios en su estado que no se almacenan en el almacenamiento persistente  
 + 
 +==== Imágenes ==== 
 + 
 +Una imagen es una plantilla de 'solo lectura' con instrucciones para crear un contenedor Docker 
 + 
 +A menudo, una imagen se basa en otra imagen, con alguna personalización adicional. Por ejemplo, se puede compilar 
 +una imagen basada en la imagen Ubuntu, pero que instala el servidor web Apache y nuestra aplicación, así como los detalles de configuración necesarios para ejecutar nuestra aplicación 
 + 
 +==== Servicios ==== 
 + 
 +Los servicios permiten escalar contenedores a través de múltiples demonios Docker, que trabajan juntos como un enjambre con múltiples gerentes y trabajadores 
 + 
 +Cada miembro de un enjambre es un demonio Docker, y todos los demonios se comunican mediante la API Docker 
 + 
 +Permite definir el estado deseado, como el número de réplicas del servicio que deben estar disponibles en un momento dado  
 + 
 +De manera predeterminada, el servicio tiene balanceo de carga en todos los nodos de trabajo 
 + 
 +Para el usuario, el servicio Docker parece ser una sola aplicación  
 + 
 +Docker Engine admite el modo enjambre en Docker 1.12 y superior 
 + 
 +A día de hoy se usa Kubernetes u Openshift. 
 + 
 +==== Dockerfile ==== 
 + 
 +Se utilizan para crear imágenes de contenedor 
 + 
 +Un **Dockerfile** es un documento de texto que contiene toda la información de configuración y los comandos necesarios para ensamblar una imagen de contenedor (tarea que realiza el Docker Daemon) 
 + 
 +==== Namespaces ==== 
 + 
 +Docker usa un conjunto de //namespaces// para garantizar el aislamiento de cada contenedor
 + 
 +Docker Engine usa espacios de nombres como los siguientes en Linux: 
 + 
 +  * El espacio de nombres pid: aislamiento del proceso (PID: ID del proceso). 
 +  El espacio de nombres de red: Gestión de interfaces de red (NET: Redes). 
 +  El espacio de nombres de IPC: gestión del acceso a los recursos de IPC (IPC: comunicación entre procesos). 
 +  El espacio de nombres mnt: Gestión de puntos de montaje del sistema de archivos (MNT: Mount). 
 +  El espacio de nombres uts: Aislamiento del núcleo y los identificadores de versión. (UTS: Sistema de tiempo compartido Unix). 
 + 
 +==== Control de grupos cgroups ==== 
 + 
 +Un **cgroup** limita una aplicación a un conjunto específico de recursos  
 + 
 +Estos grupos permiten que Docker Engine comparta los recursos de hardware disponibles con los contenedores y, opcionalmente, imponga límites y restricciones 
 + 
 +Por ejemplo, se puede limitar la cantidad de memoria disponible para un contenedor específico 
 + 
 +==== Sistema de unión de ficheros ==== 
 + 
 +Los sistemas de unión de ficheros, o UnionFS, son sistemas de archivos que operan creando capas, haciéndolos muy livianos y rápidos 
 + 
 +Docker Engine utiliza UnionFS para proporcionar los bloques de construcción para contenedores 
 + 
 +Docker Engine puede usar múltiples variantes de UnionFS, incluidas AUFS, btrfs, vfs y DeviceMapper 
 + 
 +==== Formato contenedor ==== 
 + 
 +Docker Engine combina los **namespaces****cgroups** **UnionFS** en un contenedor llamado **formato contenedor**. 
 + 
 +El formato de contenedor predeterminado es ''libcontainer''
 + 
 +En el futuro, Docker puede admitir otros formatos de contenedor al integrarse con tecnologías como BSD Jails o Solaris Zones.
informatica/sistemas_operativos/cursos/docker_avanzado/fundamentos_docker.1696952788.txt.gz · Última modificación: por tempwin