6 puntos por GN⁺ 2024-11-24 | 1 comentarios | Compartir por WhatsApp
  • Bocker

    • Bocker es una versión simple de Docker implementada en unas 100 líneas de bash.
  • Prerrequisitos

    • Paquetes necesarios para ejecutar Bocker:
      • btrfs-progs
      • curl
      • iproute2
      • iptables
      • libcgroup-tools
      • util-linux >= 2.25.2
      • coreutils >= 7.5
    • Requisitos de configuración del sistema:
      • montar un sistema de archivos btrfs en /var/bocker
      • un bridge de red llamado bridge0 con la IP 10.0.0.1/24
      • reenvío de IP habilitado en /proc/sys/net/ipv4/ip_forward
      • firewall para enrutar tráfico desde bridge0 hacia la interfaz física
    • Se puede usar el Vagrantfile para construir el entorno necesario.
    • Bocker se ejecuta con privilegios de root y modifica interfaces de red, tablas de enrutamiento y reglas de firewall, por lo que se recomienda ejecutarlo en una máquina virtual.
  • Ejemplo de uso

    • Ejemplos de uso de Bocker:
      • usar el comando bocker pull centos 7 para descargar la imagen de CentOS 7.
      • se puede revisar la lista de imágenes con bocker images.
      • se puede ejecutar un comando dentro del contenedor con bocker run img_42150 cat /etc/centos-release.
      • se pueden ver los contenedores en ejecución con bocker ps.
      • se pueden revisar los logs del contenedor con bocker logs ps_42045.
      • se puede eliminar el contenedor con bocker rm ps_42045.
      • se pueden instalar paquetes con bocker run img_42150 yum install -y wget.
      • se pueden confirmar los cambios del contenedor con bocker commit ps_42018 img_42150.
      • se pueden configurar límites de CPU y memoria.
  • Funcionalidad: implementada actualmente

    • Funciones implementadas actualmente:
      • implementación limitada de docker build
      • docker pull
      • docker images
      • docker ps
      • docker run
      • docker exec
      • docker logs
      • docker commit
      • docker rm / docker rmi
      • redes
      • soporte de cuotas / CGroups
  • Funcionalidad: aún no implementada

    • Funciones que todavía no están implementadas:
      • contenedores de volúmenes de datos
      • volúmenes de datos
      • port forwarding
  • Licencia

    • Este programa es software libre distribuido bajo la GNU General Public License.
    • No ofrece garantías de comerciabilidad ni de idoneidad para un propósito específico.

1 comentarios

 
GN⁺ 2024-11-24
Comentarios de Hacker News
  • Hice un proyecto llamado Bag usando proot. No es una alternativa a Docker, no tiene relación con cgroups y su CLI también es diferente a la de Docker. Desarrollé una solución de cadena de proxies para evadir la censura de internet y quería ejecutarla en termux. En ese entonces, termux no tenía jdk/jre, y mediante proot podía crear un entorno archlinux para usar jdk. Ese entorno servía bien para varias tareas, y con un script llamado bag.sh se podía automatizar la creación del entorno y la ejecución de comandos. Ese script tiene una hoja de ruta que no se actualiza desde hace 5 años

  • Me encantan los scripts mínimos en bash; hace 10 años, en un hackatón, una vez implementé en 40 líneas de bash un balanceador de carga intra-clúster para promocionar una infraestructura distribuida que usaba Docker, Mesos, etc. También desarrollé una herramienta de transferencia de colo a cloud, pero ahora está perdida. Se pueden encontrar colecciones útiles de scripts en sitios como Shell Fu

  • Me gusta cuando en un repositorio aparecen mensajes como "todavía no implementado", "por hacer" o "en progreso", y el último commit fue hace varios años. Me da tranquilidad porque significa que no tengo que volver a revisar la lista de pendientes que dejé en mi propio código

  • Me sorprende que no se mencione lazydocker como una excelente alternativa a Docker Desktop. Es una TUI bastante completa que se ejecuta por ssh

  • BastilleBSD es una herramienta para administrar jails en BSD y usa muchas de las estructuras que se encuentran en Docker. La prefiero sobre otros programas de gestión de jails en BSD porque tiene menos dependencias

  • Más allá de la practicidad, hay mucho que aprender de la implementación

  • El enlace de la página principal en GitHub está roto, así que hay que quitar www.

  • El hecho de que sea posible una reimplementación sencilla de Docker es el mayor problema al que se enfrenta la empresa Docker. El verdadero valor de Docker no está solo en Docker Hub, sino en la experiencia integrada que ofrece Docker para Windows y Mac. Eso brinda una experiencia muy superior a configurar manualmente VirtualBox y Vagrant

  • Me pregunto cómo empezó Docker

  • Me pregunto por qué Docker todavía no está incluido en los repositorios de Ubuntu/Debian. Sería una ganancia neta fácil