Apuntes de Kirby
  • 👀whoami
  • 🦉Redes
    • Introducción Redes
      • Organizaciones
      • Historia
      • Puntos de conexión
      • Métodos de acceso a la red
    • Clasificación de las redes
    • Topología de las red
    • Direccionamiento IP
      • IPv4
        • Subredes IPv4
        • Superredes IPv4
        • VLSM
      • IPv6
      • MAC
      • NAT
    • Enrutamiento estático
    • Enrutamiento dinámico
      • RIPv1 & RIPv2
      • Tablas de enrutamiento
      • 🚧Redes conmutadas
    • CML
      • 🚧1er CML lab
    • CISCO
      • ¿Qué son las VLAN?
        • Ejemplo 1 de VLAN
        • Ejemplo 2 de VLAN
      • Acceso y password
      • NAT / PAT
    • Firewalls
      • Tipos de firewalls
      • ZPF
        • Funcionamiento
        • Configurando un ZPF
      • Sophos Firewall XG
        • Sophos home
        • Aprendiendo a usar Sophos
      • pfSense
        • Instalando pfSense
        • OpenVPN en pfSense
        • Port Forward
        • Alias
    • Proxy
      • Squid en pfSense
        • Squid Proxy Server
        • SquidGuard Proxy
      • Proxy reverse Nginx
    • 🚧Suricata
  • 🐝Servicios
    • Servidores Web
      • Nginx
        • NGINX, hosts virtuales
        • Hosts virtuales basados en dominio
        • PHP-FPM
        • Nginx: PHP y MySQL
          • MySQLi - PHP
        • En Alpine linux
        • 🚧Proxy
    • Servidores de correo
      • Seguridad en el correo
      • Postfix
      • hMailServer
      • Clientes de correo
        • Mailutils
        • Mutt
    • Servidores de FTP
      • FileZilla
      • VSFTPD
      • FTP vía IIS
    • Servidores DNS
      • DNS - Windows Server 2016
      • DNS - Ubuntu Server 22.04
      • Systemd
    • Servidores DHCP
      • DHCP-Windows Server 2016
      • DHCP-Ubuntu Server 22.04
    • Servidores MySQL
    • 🚧Mensajería instantánea
      • Ejabberd
    • 🚧Imágenes - Vídeos
      • FFMPEG + YT-DLP
      • Plex
      • Jellyfin
      • Plesk
      • RTMP
      • SRT
    • Webmin + Virtualmin
  • NextCloud
  • 🔑Seguridad
    • NAS
      • Instalación Synology NAS en VirtualBox
        • Creación de volúmenes y su uso
        • Actualización Synology NAS
        • Creación de usuarios y carpetas compartidas
        • Funciones del panel de control
          • Acceso por SSH
          • Configuración de los servicios de archivos
          • Configuración de red
          • Copias de seguridad (restauración)
          • Seguridad
          • Personalizar páginas de inicio
          • Servicio de notificaciones
        • Centro de paquetes Synology
          • Servidores multimedia
          • Paquetes de utilidades
          • Cloud Sync
          • Hyper Backup
          • Synology Office
      • Truenas
        • Rsync en Truenas
      • OpenmediaVault
    • Backups
      • Rsync
        • Ejemplo de rsync
    • ¿Qué son las ACL?
    • SOPS/AGE
    • RAID
      • mdadm
  • 🐳Virtualización
    • Proxmox
      • Instalar en VMWare
      • Instalar en VirtualBox
      • Entorno Proxmox
      • Almacenamiento local
      • Añadir discos
      • Clonar
      • Qemu agent
      • Linux container - LXC
      • Clúster
      • Red Interna
      • 🚧Proxmox Backup
      • 🚧Otras consideraciones
    • Alpine Linux
    • Contenedores
      • Docker
        • YAML
        • Instalando Docker
        • Portainer
          • Instalando Portainer
          • Dentro de Portainer
        • Docker volumen
        • Docker compose
          • Docker: PHP y MySQL
          • Importar sitio web en Docker
          • Instalando Wordpress
      • Pi-hole
        • Instalando Pi-hole en Docker
        • Instalando Pi-hole en Debian
        • RDP
          • RDP - Docker
  • 🐞Misceláneas
    • Datos - codificación
    • IPTables
    • Túnel con Cloudflare
    • Servidor de video
    • Comandos de Linux
    • Anaconda & Spyder
    • CGI - NGINX
    • Arduino
      • Capítulo 0 Blink
      • Capítulo 1 Led
      • Capítulo 2 Botton & LED
  • ⁉️Interesante
    • Curioso
    • Ideas
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Virtualización
  2. Contenedores

Docker

N-Tech Admin Group

PreviousContenedoresNextYAML

Last updated 1 year ago

Was this helpful?

La función principal de Docker es desarrollar, enviar y ejecutar cualquier aplicación en cualquier sistema, constituyéndose así como una alternativa flexible y capaz de ahorrar recursos frente a la emulación de componentes de hardware basada en máquinas virtuales (VM).

No es lo mismo Docker que un contenedor Linux. Docker se desarrolló a partir de la tecnología LXC, lo que la mayoría de las personas asocia con contenedores de Linux "tradicionales", aunque desde entonces se ha alejado de esa dependencia. LXC era útil como virtualización ligera, pero no ofrecía una buena experiencia al desarrollador ni al usuario.

Ventajas

  • Modularidad

  • Control de versiones de imágenes y capas

  • Restauración

  • Implementación rápida

¿Qué diferencia habría entre LXC y Docker?

LXC y Docker son dos sistemas de contenedores. LXC es un tipo de contenedor de sistema lo que significa que todos los contenedores creados con LXC necesitan un sistema operativo propio para funcionar, al contrario de Docker, que utiliza el sistema operativo del sistema anfitrión. Lo bueno de los contenedores de sistema o LXC es que podemos tener en un solo contenedor diferentes aplicaciones.

Se puede decir que un contenedor permite a un desarrollador empaquetar una aplicación con todos los componentes que necesita (bibliotecas y dependencias), así como poder utilizarlo como si fuera un solo paquete.

Más aún, los contenedores funcionan como una máquina virtual ligera pero con su propio sistema de ficheros, su propio espacio de usuarios y procesos o sus propias interfaces de red.

Entre las características que tiene encontramos que:

Veamos más a fondo sus ventajas y características:

Uso: un contenedor ejecuta una imagen de Docker, que es una representación del sistema de ficheros y otros datos que el contenedor necesita para su ejecución. Una vez que se ha generado la imagen del contenedor, la misma podrá ser ejecutada por cualquier Docker Engine.

Cuando se genera una vez una imagen, la misma puede ser ejecutada las veces que sean necesarias, y siempre se ejecutará con la misma versión del código fuente y sus dependencias, por lo que podemos decir que es inmutable.

Ligero. Todos los contenedores que podemos tener en funcionamiento en una misma máquina, no importa si es virtual o física, comparten el mismo SO, sin embargo cada contenedor es un proceso independiente, que tiene su propio sistema de ficheros y sus propio espacio de archivos.

Esta característica hace que la ejecución de contenedores sea mucho más ligera que otros modos de virtualización. Por ejemplo:

VirtualBox es capaz de hacer funcionar en un PC varias VM. En cambio, en el mismo PC podemos hacer funcionar cientos de contenedores sin causar problemas de rendimiento.

Seguridad. Los contenedores son compatibles con los principales sistemas de seguridad a nivel de kernel. También ofrece grupos de control de acceso al demonio que controla la virtualización, restringiendo posibles cambios que puedan hacerse en el sistema.

Links

Es portable. Los contenedores se ejecutan por el (Docker Engine) que es fácil de instalar en distribuciones /.

Inmutable. Si hablamos de aplicaciones compuestas por el las librerías del SO y del lenguaje de programación necesarios para ejecutar dicho código, y que además, dependen a su vez del SO donde se ejecutará cabría preguntarnos si nos funcionará la aplicación en cualquier SO. Aquí viene en nuestra ayuda la idea de contenedores puesto que el proceso de instalación de dependencias de Docker no depende del SO, dado que éste se realiza a la hora de generar una imagen del contenedor.

🐳
demonio
GNU
Linux
código fuente,
https://docs.docker.com/engine/reference/commandline/compose/
https://docs.docker.com/compose/reference/
https://docs.docker.com/storage/volumes/
https://colaboratorio.net/davidochobits/sysadmin/2017/docker-una-guia-no-convencional/
https://keepcoding.io/blog/que-es-docker-compose/
https://www.ionos.es/digitalguide/servidores/know-how/docker-container-volumes/