-
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
Comentarios de Hacker News
Hice un proyecto llamado Bag usando
proot. No es una alternativa a Docker, no tiene relación concgroupsy 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 entermux. En ese entonces,termuxno teníajdk/jre, y medianteprootpodía crear un entornoarchlinuxpara usarjdk. Ese entorno servía bien para varias tareas, y con un script llamadobag.shse 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ñosMe 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
lazydockercomo una excelente alternativa a Docker Desktop. Es una TUI bastante completa que se ejecuta porsshBastilleBSD es una herramienta para administrar
jailsen BSD y usa muchas de las estructuras que se encuentran en Docker. La prefiero sobre otros programas de gestión dejailsen BSD porque tiene menos dependenciasMá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