Premier TD : Découverte de Docker

Manipuler un conteneur

1- Lancez simplement un conteneur Debian en mode attached. Que se passe-t-il ?


2- Lancez un conteneur Debian avec la commande echo "Debian container".


3- Affichez la liste des conteneurs en cours d’exécution


4- Affichez la liste des conteneurs en cours d’exécution et arrêtés.


5- Lancez un conteneur debian en mode détaché avec la commande sleep 3600

6- Réaffichez la liste des conteneurs qui tournent

7- Tentez de stopper le conteneur, que se passe-t-il ?

docker stop <conteneur>

NB: On peut désigner un conteneur soit par le nom qu’on lui a donné, soit par le nom généré automatiquement, soit par son empreinte (toutes ces informations sont indiquées dans un docker ps ou docker ps -a). L’autocomplétion fonctionne avec les deux noms.

8- Trouvez comment vous débarrasser d’un conteneur récalcitrant (si nécessaire, relancez un conteneur avec la commande sleep 3600 en mode détaché).


9- Tentez de lancer deux conteneurs avec le nom debian_container


Le nom d’un conteneur doit être unique (à ne pas confondre avec le nom de l’image qui est le modèle utilisé à partir duquel est créé le conteneur).

docker run debian -d --name debian2 sleep 500

Chercher sur Docker Hub

docker pull nginx
docker run --name "test_nginx" nginx

Ce conteneur n’est pas très utile, car on a oublié de configurer un port ouvert.


docker run -p 8080:80 --name "test2_nginx" nginx # la syntaxe est : port_hote:port_container

On peut lancer des logiciels plus ambitieux, comme par exemple Funkwhale, une sorte d’iTunes en web qui fait aussi réseau social :

docker run --name funky_conteneur -p 80:80 funkwhale/all-in-one:1.0.1

Vous pouvez visiter ensuite ce conteneur Funkwhale sur le port 80 (après quelques secondes à suivre le lancement de l’application dans les logs) ! Mais il n’y aura hélas pas de musique dedans :(

Attention à ne jamais lancer deux containers connectés au même port sur l’hôte, sinon cela échouera !

docker rm -f funky_conteneur