-
Bocker
- Bocker est une version simplifiée de Docker implémentée en environ 100 lignes de bash.
-
Prérequis
- Paquets nécessaires pour exécuter Bocker :
- btrfs-progs
- curl
- iproute2
- iptables
- libcgroup-tools
- util-linux >= 2.25.2
- coreutils >= 7.5
- Exigences de configuration système :
- système de fichiers btrfs monté sur
/var/bocker
- un pont réseau nommé
bridge0 avec l’IP 10.0.0.1/24
- activation du transfert IP dans
/proc/sys/net/ipv4/ip_forward
- un pare-feu pour router le trafic de
bridge0 vers l’interface physique
- Il est possible de mettre en place l’environnement requis à l’aide du Vagrantfile.
- Bocker s’exécute avec les privilèges root et modifie les interfaces réseau, les tables de routage et les règles de pare-feu ; il est donc recommandé de l’exécuter dans une machine virtuelle.
-
Exemple d’utilisation
- Exemples d’utilisation de Bocker :
- récupérer l’image CentOS 7 avec la commande
bocker pull centos 7.
- afficher la liste des images avec
bocker images.
- exécuter une commande dans un conteneur avec
bocker run img_42150 cat /etc/centos-release.
- vérifier les conteneurs en cours d’exécution avec
bocker ps.
- consulter les logs d’un conteneur avec
bocker logs ps_42045.
- supprimer un conteneur avec
bocker rm ps_42045.
- installer un paquet avec
bocker run img_42150 yum install -y wget.
- valider les modifications d’un conteneur avec
bocker commit ps_42018 img_42150.
- définir des limites CPU et mémoire.
-
Fonctionnalités : actuellement implémentées
- Fonctionnalités actuellement implémentées :
- implémentation limitée de
docker build
docker pull
docker images
docker ps
docker run
docker exec
docker logs
docker commit
docker rm / docker rmi
- mise en réseau
- prise en charge des quotas / CGroups
-
Fonctionnalités : pas encore implémentées
- Fonctionnalités pas encore implémentées :
- conteneurs de volumes de données
- volumes de données
- redirection de ports
-
Licence
- Ce programme est un logiciel libre distribué selon la GNU General Public License.
- Aucune garantie n’est fournie quant à sa valeur commerciale ou à son adéquation à un usage particulier.
1 commentaires
Commentaires sur Hacker News
J’ai créé un projet appelé Bag en utilisant proot. Ce n’est pas une alternative à Docker, ce n’est pas lié aux cgroups, et son CLI est également différent de celui de Docker. J’avais développé une solution de chaîne de proxys pour contourner la censure d’Internet, et je voulais l’exécuter dans termux. À l’époque, termux n’avait pas de jdk/jre, et proot permettait de créer un environnement archlinux dans lequel je pouvais utiliser le jdk. Cet environnement convenait à diverses tâches, et un script appelé bag.sh permettait d’automatiser la création de l’environnement et l’exécution des commandes. Ce script a une feuille de route qui n’a pas été mise à jour depuis 5 ans
J’aime les scripts bash minimalistes, et il y a 10 ans, lors d’un hackathon, j’ai déjà implémenté un load balancer intra-cluster en 40 lignes de bash pour promouvoir une infrastructure distribuée utilisant Docker, Mesos, etc. J’ai aussi développé un outil de transfert colo-to-cloud, mais il est aujourd’hui perdu. On peut trouver des collections de scripts utiles sur Shell Fu et ailleurs
J’aime quand un dépôt contient des messages comme « pas encore implémenté », « à faire » ou « en cours », et que le dernier commit date de plusieurs années. Cela me rassure, car je n’ai pas besoin de revenir sur la liste des tâches que j’ai oubliées dans mon propre code
Je suis surpris que lazydocker ne soit pas mentionné comme excellente alternative à Docker Desktop. C’est une interface terminal assez complète qui fonctionne via ssh
BastilleBSD est un outil de gestion des jails sur BSD, qui utilise beaucoup des structures que l’on retrouve dans Docker. Je le préfère à d’autres logiciels de gestion de jails sur BSD car il a moins de dépendances
Au-delà de l’aspect pratique, il y a beaucoup à apprendre de cette implémentation
Le lien vers la page d’accueil GitHub est cassé, il faut donc supprimer « www. »
Le fait qu’une simple réimplémentation de Docker soit possible est le plus gros problème auquel l’entreprise Docker est confrontée. La vraie valeur de Docker ne réside pas seulement dans Docker Hub, mais dans l’expérience intégrée fournie par Docker sur Windows et Mac. Cela offre une expérience bien supérieure à une configuration manuelle de VirtualBox et Vagrant
Je me demande comment Docker a commencé
Je me demande pourquoi Docker n’est toujours pas inclus dans les dépôts ubuntu/debian. Ce serait une source de bénéfice net facile