Diseñados para ayudarte a experimentar a tu antojo, los laboratorios domésticos están equipados con todo tipo de funciones únicas para mejorar tu experiencia de creación de proyectos. La contenedorización es una de esas características que puede convertir tu estación de trabajo de experimentación en una potente plataforma de autoalojamiento. A menudo contrastados con las máquinas virtuales, los contenedores ofrecen muchas ventajas para los entusiastas de los servidores, y aquí hay cinco razones por las que deberías integrarlos en el flujo de trabajo de tu laboratorio doméstico.
10 increíbles proyectos de Raspberry Pi que puedes ejecutar dentro de contenedores Docker
Olvídate de cambiar de distribución (y de tarjetas microSD) alojando tú mismo estos divertidos proyectos con Docker
5Una forma sencilla de aislar servicios
Y puedes evitar conflictos de dependencia.
Ejecutar todas las aplicaciones en el sistema operativo nativo puede hacerlas vulnerables al flagelo de las dependencias. Diferentes paquetes pueden requerir versiones distintas de las mismas dependencias y bibliotecas, e instalar múltiples variantes del mismo paquete puede dañar las aplicaciones que dependen de ellos.
Afortunadamente, la naturaleza aislada de los contenedores puede limitar los conflictos de dependencia, y no deberías tener problemas incluso cuando ejecutes varias versiones de la misma aplicación en contenedores en tu laboratorio doméstico.
4Actualice sus aplicaciones alojadas por usted mismo con facilidad
Moverlos entre plataformas es igual de sencillo.
Actualizar todos los paquetes, bibliotecas y dependencias puede ser un problema cuando configura aplicaciones y servicios directamente en el sistema operativo de su servidor. Dado que una única actualización errónea de un paquete puede dañar potencialmente todas las aplicaciones que dependen de él, los contenedores ofrecen un método más seguro y confiable para alojar servicios por cuenta propia.
Además, el procedimiento de actualización general es bastante simple, ya que todo lo que hay que hacer es destruir el contenedor obsoleto e implementar uno nuevo utilizando la imagen actualizada. ¡Eso sin contar la facilidad de mover contenedores entre diferentes dispositivos, incluidas las máquinas virtuales!
3Ajustar el nivel exacto de comunicación entre servicios
Con la ayuda de redes flexibles
La naturaleza aislada de los contenedores es sin duda una ventaja, pero a veces, es posible que necesite un contenedor específico para conectarse con otras aplicaciones en contenedores. Tal vez esté ejecutando un servidor de transmisión multimedia y desee que su contenedor Plex funcione en conjunto con Tautulli, Sonarr, Radarr, Bazarr y otros servicios. O tal vez sus cargas de trabajo de programación requieran que ejecute VS Code junto con un servidor Gitea autoalojado.
Afortunadamente, la mayoría de las herramientas de ejecución de contenedores le permiten configurar redes personalizadas para la comunicación entre contenedores. Además de crear sus propios puentes y hosts de red, incluso puede otorgar direcciones MAC virtuales a sus contenedores. Incluso puede aislar los contenedores más vulnerables que dependen de dispositivos IoT inseguros para separar las VLAN y aumentar la seguridad de su laboratorio en casa.
2Experimente con diferentes herramientas de monitoreo, administración y orquestación.
Adquirirás mucha experiencia en diferentes campos gestionando contenedores.
Una instalación básica de Docker Engine es más que suficiente para satisfacer tus necesidades cuando recién estás empezando. Pero para los entusiastas del laboratorio en casa que quieran adentrarse en experimentos de alojamiento propio, tienes un amplio conjunto de herramientas para mantener tus contenedores en óptimas condiciones. Por ejemplo, puedes optar por una sencilla configuración de Uptime Kuma para supervisar tus contenedores o configurar una configuración dedicada de Prometheus y Grafana capaz de generar gráficos detallados para los servicios que se ejecutan en tu servidor doméstico.
También existen herramientas de automatización como n8n, Ansible y Terraform, que puedes implementar como contenedores para simplificar la gestión del laboratorio en casa. Asimismo,Kubernetesy Docker Swarm sirven como plataformas de orquestación sólidas para tus cargas de trabajo en contenedores. Si estás buscando ingresar en los campos de administración de sistemas o DevOps, obtendrás mucha experiencia práctica con herramientas de nivel industrial cuando comiences a experimentar con contenedores.
1Bajo consumo de energía
Incluso una Raspberry Pi puede ejecutar varios contenedores al mismo tiempo
No todos los servidores domésticos son una versión dual Xeon con suficientes núcleos de CPU y memoria como para avergonzar a las modernas MacBooks, y te espera un momento difícil si intentas sobreaprovisionar recursos en un sistema más débil. Con máquinas virtuales que emulan todo el SO, el kernel y los paquetes esenciales, te espera un gran problema si intentas ejecutar varias máquinas virtuales simultáneamente, incluso si los sistemas operativos que alimentan dichas máquinas virtuales son extremadamente livianos.
Por el contrario, los contenedores comparten el mismo espacio de kernel que la máquina anfitriona, lo que reduce significativamente la sobrecarga en su servidor doméstico. Con ese fin, puede tener toneladas de contenedores ejecutándose en su laboratorio doméstico antes de comenzar a notar problemas de degradación del rendimiento. Como alguien que aloja varios contenedores en Raspberry Pi basados en ARM y SBC Intel N100 más débiles, puedo confirmar que los contenedores son mucho más viables que las máquinas virtuales para laboratorios domésticos modestos.
¿Qué contenedores utilizas en tu laboratorio casero?
Ahora que ya conoce los beneficios de ejecutar contenedores, exploremos rápidamente algunos servicios esenciales que puede alojar usted mismo con ellos. Existe Pi-hole, que puede deshacerse de los anuncios molestos, mientras queNextcloudpuede ayudarlo a ejecutar un servidor de almacenamiento en la nube privado sobre su laboratorio en casa. Para las personas que tienen la carga de administrar documentos, sugiero que consultenPaperless-ngx.Firefly IIIpuede ayudarlo con sus necesidades de contabilidad y presupuesto, yTriliumNext Noteses, sin lugar a dudas, el mejor sistema PKM cuando desea anotar sus ideas.
25 comandos esenciales que todo usuario de Docker debería conocer
La interfaz de línea de comandos de Docker puede parecer intimidante, ¡pero estos comandos pueden ayudarte a dominarla en poco tiempo!