Programme : Module 2 — Devenir familier avec le CLI
Cours 6/17 ▾
Créer notre premier container
$kernellab course creer-notre-premier-container
Devenir familier avec le CLI

Créer notre premier container

Apprendre à créer et lancer des conteneurs Docker efficacement

Durée du cours
7 min
Durée Module
55 min
Progression
Cours 6 sur 17
Étapes
— sections

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

Terminal
docker run hello-world
Note

Pas 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 :

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/
Note

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) :

Terminal
➜  ~ docker run -d -p 8080:80 --name mon_premier_site nginx

Laissez Docker télécharger l'image si elle n'est pas sur votre repository local.

Terminal
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
26

Une 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

Illustration
Illustration

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 port 8080 de notre ordinateur vers le port 80 du 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 (genre sleepy_einstein ou crazy_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

Félicitations, vous venez de déployer votre premier véritable service isolé !