Docker >_<
Rédigé par uTux 12 commentairesJe ne vais pas me faire des amis, mais j'ai un problème avec Docker et je vais l'illustrer en le comparant avec ezjail qui permet de gérer les jails sous FreeBSD.
Pour afficher la liste des containers dans Docker :
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c516f8fcbc57 httpd:v5 "/bin/bash" 9 minutes ago Up 2 seconds 80/tcp tender_mirzakhani
Attendez, c'est pas fini ! Cette commande ne va afficher que les containers en cours d'exécution. Si on veut tout :
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c516f8fcbc57 httpd:v5 "/bin/bash" 9 minutes ago Up 22 seconds 80/tcp tender_mirzakhani
974607db9cb7 httpd:v5 "apache2-foreground" 18 minutes ago Exited (0) 8 minutes ago gigantic_engelbart
Et pour entrer dans un container :
$ docker exec -t -i gigantic_engelbart /bin/bash
root@974607db9cb7:/var/www/html#
Ok. Maintenant voyons comment on fait pour lister des containers avec ezjail sous FreeBSD :
ezjail-admin list
STA JID IP Hostname Root Directory
--- ---- --------------- ------------------------------ ------------------------
DR 1 127.0.1.1 jls-web-10 /usr/jails/jls-web-10
1 em0|192.168.0.50
DS N/A 127.0.1.2 jls-mail-01 /usr/jails/jls-mail-01
N/A em0|192.168.0.60
Et pour entrer dans un container avec ezjail :
ezjail-admin console jls-web-10
FreeBSD 10.3-RELEASE (GENERIC) #0 r297264: Fri Mar 25 02:10:02 UTC 2016
root@jls-web-10:~ #
Voilà, une seule commande simple à retenir et pas d'options superflues.
Pourquoi les commandes Docker sont-elles aussi imbuvables ? C'est un problème courrant dans l'environnement des logiciel sous Linux, on ne sait pas faire de choses simples. git est un autre exemple symptomatique, nous sommes obligés d'avoir sous la main une anti-sèche pour ne pas nous tromper dans les commandes.
Docker étant relativement récent, pourquoi ne s'est-il pas inspiré des commandes ezjail, iohyve, iocage ou lxc qui sont beaucoup plus simples et intuitives ?