2.3 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-world
Une fois la commande lancer vous devriez avoir ceci sur le Terminal :
**➜** **~** docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(arm64v8)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
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 nginx
Laissez Docker télécharger l'image si elle n'est pas sur votre repository local.
**~** docker run -d -p 8080:80 --name mon_premier_site nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
59f54fbcd984: Already exists
54c3b3bebc0a: Pull complete
9b1a2f3b8553: Pull complete
627a5a63361a: Pull complete
4cca0d328dc5: Pull complete
94f27359a4c8: Pull complete
9f270a0f328f: Pull complete
Digest: sha256:5a88c9c45479443d7be2eadc894b4ed0a9801bae03d97a5760ae13b5c2005942
Status: Downloaded newer image for nginx:latest
7fb193e996196a74e59c4e818a5bf4f1e0183b8eabac402ae9732a07a25b8dc4
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 **

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
Félicitations, vous venez de déployer votre premier véritable service isolé !