Ces notes viennent pour la plupart de la leçon 1 sur le site officiel de Docker.
Installation
$ wget -qO- https://get.docker.com/ | sh
Pour vérifier que ça marche :
$ sudo docker run hello-world
Si ça ne marche pas, il peut être nécessaire de rebooter la machine.
Pour ne pas avoir à utiliser sudo
pour lancer docker
,
on peut ajouter l’utilisateur au groupe docker
en faisant :
$ sudo usermod -aG docker anne
Attention, pour que ça soit pris en compte, il faut lancer un nouveau shell. Et on peut alors lancer :
$ docker run hello-world
Pour avoir des information sur les versions du client et du serveur:
$ docker version
Les images
Beaucoup d’images sont disponibles dans le Docker Hub. Il y a de nombreux dépôts (repository) avec des images officielles ou non. Il y a par exemple un dépôt officiel Ubuntu.
Pour voir les images déjà chargées :
$ docker images
Une image a un identifiant unique,
mais est généralement identifiée grâce au nom du dépôt et au tag.
Le tag dépend de l’organisation du dépôt, mais il représente généralement la
version. Le tag par défaut est latest
.
Créer un container à partir d’une image
docker run ubuntu:14.04 echo "Coucou !"
Cette commande fait plusieurs choses:
- elle télécharge l’image si on ne l’a pas déjà,
- elle initialise un container à partir de cette image,
- elle lance la commande (ici
echo
).
Aller dans le container
Pour aller dans le container, il faut utiliser les options :
-i
pour connecter STDIN au container,-t
pour lancer un pseudo-terminal.
On lance donc par exemple :
$ docker run -i -t ubuntu:14.04 /bin/bash
On peut ensuite faire ce que l’on veut, comme par exemple :
- ajouter un utilisateur :
adduser germaine
- l’ajouter au groupe des sudoer :
adduser germaine sudo
- se connecter avec cet utilisateur :
su germaine
- installer
vim
:sudo apt-get install vim
Si on sort du container (exit
pour déconnecter l’utilisateur, puis exit
pour quitter bash
), et qu’on relance la même commande, on ouvre un
nouveau container. L’utilisateur créé précédemment n’existe pas,
et vim
n’est pas installé. Le premier container a été fermé définitivement.
La durée de vie d’un container est juste celle du process qui a été lancé.
Identifier les containers
Pour identifier un container, on peut en demander la liste :
$ docker ps
montre les containers qui tournent ;$ docker ps -a
montre aussi les containers qui ont été fermés.
La première colonne donne un identifiant, et la dernière, le nom. Celui-ci est
généré par docker
quand on ne l’a pas spécifié.
Lancer un container en arrière plan
Pour exécuter un container en arrière plan, on utilise l’option -d
.
Par exemple pour lancer 100 fois ping
:
$ docker -d ubuntu:14.04 ping 127.0.0.1 -c 100
Cette commande rend l’identifiant long du container.
On peut retrouver son identifiant court et son nom avec ps
comme
précédemment.
On a besoin de l’identifier pour observer sa sortie :
$ docker logs xxxx
Si on ajoute l’option -f
, on peut suivre la sortie (comme avec tail -f
).
Voir aussi :
- Afficher un pourcentage dans une page HTML
- VNC : Virtual Network Computing
- Git : déménagement d'un dépôt
- Quelques liens au sujet de l'analyse statique
- Ocaml: mon principal langage de développement
- Disque dur externe
- Les profiles dans Firefox
- Cryptographie et mail sous Android
- Quelques liens au sujet du C
- Git rebase : pour diviser un commit