Programme : Module 2 — Devenir familier avec le CLICours 6/17 ▾
- 2.1 Introduction au CLI de Docker17 min
- 2.2 Lister les conteneurs (la commande qu'on tape tout le temps)8 min
- 2.3 Créer notre premier container7 min
- 2.4 Rentrer dans la matrice d'un container6 min
- 2.5 Gérer le bouton On/Off (Start, Stop & Restart)4 min
- 2.6 Nettoyer un peut notre bazaar et libérer de l'espace4 min
- 2.7 Démystifier les Images vs Conteneurs4 min
- 2.8 Le Cheat Sheet Ultime : liste exhaustive (ou presque) des commandes5 min

Créer notre premier container
Apprendre à créer et lancer des conteneurs Docker efficacement
Bien maintenant que l'on a vue que nos container run ou pas... on vas lancer notre premier container de manière efficace et propre. POur ce faire Docker fournie une image de base pour vérifier que notre installation vas bien et fonctionne parfaitement elle est nommée "hello-world".
Grace a la commande
docker run hello-worldPas de panic docker s automatiquement télécharger l'image depuis le registre si besoin et de manière transparente ou presque.
Une fois la commande lancer vous devriez avoir ceci sur le Terminal :
1**➜** **~** docker run hello-world
2
3Hello from Docker!
4
5This message shows that your installation appears to be working correctly.
6
7
8
9To generate this message, Docker took the following steps:
10
11 1. The Docker client contacted the Docker daemon.
12
13 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
14
15 (arm64v8)
16
17 3. The Docker daemon created a new container from that image which runs the
18
19 executable that produces the output you are currently reading.
20
21 4. The Docker daemon streamed that output to the Docker client, which sent it
22
23 to your terminal.
24
25
26To try something more ambitious, you can run an Ubuntu container with:
27
28 $ docker run -it ubuntu bash
29
30
31
32Share images, automate workflows, and more with a free Docker ID:
33
34 https://hub.docker.com/
35
36
37
38For more examples and ideas, visit:
39
40 https://docs.docker.com/get-started/On vois qu'il nous dit que tout a l'air correct et qu'on peut lancer ubuntu si on est ambitieux avec des commandes un peut spécial.
Un vrai cas d'usage : lancer un serveur Web
Le hello-world, c'est mignon maintenant on va lancer un serveur web Nginx fonctionnel en une seule ligne de commande.
Tapez ceci (attention aux espaces) :
➜ ~ docker run -d -p 8080:80 --name mon_premier_site nginxLaissez Docker télécharger l'image si elle n'est pas sur votre repository local.
1 **~** docker run -d -p 8080:80 --name mon_premier_site nginx
2
3Unable to find image 'nginx:latest' locally
4
5latest: Pulling from library/nginx
6
759f54fbcd984: Already exists
8
954c3b3bebc0a: Pull complete
10
119b1a2f3b8553: Pull complete
12
13627a5a63361a: Pull complete
14
154cca0d328dc5: Pull complete
16
1794f27359a4c8: Pull complete
18
199f270a0f328f: Pull complete
20
21Digest: sha256:5a88c9c45479443d7be2eadc894b4ed0a9801bae03d97a5760ae13b5c2005942
22
23Status: Downloaded newer image for nginx:latest
24
257fb193e996196a74e59c4e818a5bf4f1e0183b8eabac402ae9732a07a25b8dc4
26Une fois qu'il vous rend la main avec une longue suite de lettres et de chiffres (l'ID complet du conteneur), ouvrez votre navigateur et tapez : http://localhost:8080.
Et voila votre page NGINX

Décryptage de la commande magique
Pourquoi a-t-on rajouté toutes ces lettres bizarres ? Voici les 3 options (flags) que vous allez utiliser en permanence :
-d(Detach) : Demande à Docker de lancer le conteneur en arrière-plan. Sans ça, votre terminal serait bloqué sur les logs de Nginx, et si vous fermiez le terminal, le site s'éteindrait.-p 8080:80(Publish) : On en a parlé tout à l'heure ! On branche le port8080de notre ordinateur vers le port80du conteneur (le port par défaut d'un serveur web).--name mon_premier_site: Par défaut, Docker donne des noms générés aléatoirement assez drôles (genresleepy_einsteinoucrazy_hopper). C'est marrant 5 minutes, mais pour s'y retrouver, c'est l'enfer. Avec--name, on lui donne un nom clair pour le manipuler plus tard.
Félicitations, vous venez de déployer votre premier véritable service isolé !
Cours terminé ?
Valide-le pour faire avancer ta progression dans le parcours.