Docker Hello World

Docker vous permet d'exécuter des applications à l'intérieur de conteneurs, en utilisant la commandedocker runpour exécuter une application dans un conteneur.

Sortie Hello world

example@example:~$ docker run ubuntu:15.10 /bin/echo "Hello world"
Hello world

Analyse de chaque paramètre :

  • docker:Fichier exécutable binaire de Docker.

  • run:Combiné avec le docker précédent pour exécuter un conteneur.

  • ubuntu:15.10Spécifie l'image à exécuter. Docker vérifie d'abord si l'image existe sur l'hôte local. Si elle n'existe pas, Docker téléchargera l'image publique depuis le dépôt d'images Docker Hub.

  • /bin/echo "Hello world": La commande à exécuter à l'intérieur du conteneur démarré

La signification complète de la commande ci-dessus peut être expliquée comme suit : Docker crée un nouveau conteneur à partir de l'image ubuntu15.10, puis exécute bin/echo "Hello world" à l'intérieur du conteneur, puis affiche le résultat.


Lancer un conteneur interactif

Nous utilisons les deux paramètres -i -t de Docker pour faire en sorte que le conteneur exécuté par Docker atteignela conversationla capacité de :

example@example:~$ docker run -i -t ubuntu:15.10 /bin/bash
root@0123ce188bd8:/#

Analyse de chaque paramètre :

  • -t:Spécifier un pseudo-terminal ou un terminal dans le nouveau conteneur.

  • -i:Permet d'interagir avec l'entrée standard (STDIN) dans le conteneur.

Notez la deuxième ligneroot@0123ce188bd8:/#À ce stade, nous sommes entrés dans un conteneur avec le système ubuntu15.10.

Nous essayons d'exécuter des commandes dans le conteneur cat /proc/versionetlsPour afficher respectivement les informations de version du système actuel et la liste des fichiers du répertoire actuel.

root@0123ce188bd8:/#  cat /proc/version
Linux version 4.4.0-151-generic (buildd@lgw01-amd64-043) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) ) #178-Ubuntu SMP Tue Jun 11 08:30:22 UTC 2019
root@0123ce188bd8:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@0123ce188bd8:/# 

Nous pouvons quitter le conteneur en exécutant la commande exit ou en utilisant CTRL+D.

root@0123ce188bd8:/#  exit
exit
root@example:~# 

Notez à la troisième ligneroot@example:~#Indique que nous avons quitté le conteneur actuel et sommes revenus à l'hôte actuel.


Démarrer le conteneur (mode arrière-plan)

Utilisez la commande suivante pour créer un conteneur qui s'exécute en tant que processus

example@example:~$ docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63

Dans la sortie, nous n'avons pas vu le "hello world" attendu, mais plutôt une longue chaîne de caractères.

2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63

Cette longue chaîne est appelée l'ID du conteneur, qui est unique pour chaque conteneur. Nous pouvons utiliser l'ID du conteneur pour voir ce qui est arrivé au conteneur correspondant.

Tout d'abord, nous devons confirmer que le conteneur est en cours d'exécution. Cela peut être fait en utilisantdocker pspour voir:

example@example:~$ docker ps
CONTAINER ID        IMAGE                  COMMAND              ...  
5917eac21c36        ubuntu:15.10           "/bin/sh -c 'while t…"    ...

Introduction aux détails de la sortie:

CONTAINER ID:ID du conteneur.

IMAGE:L'image utilisée.

COMMAND:La commande exécutée lors du démarrage du conteneur.

CREATED:L'heure de création du conteneur.

STATUS:Statut du conteneur.

Il y a 7 états:

  • created
  • redémarrage
  • en cours d'exécution ou Up (en cours d'exécution)
  • suppression (migration)
  • paused
  • arrêté
  • mort

PORTS:Les informations sur les ports du conteneur et le type de connexion utilisé (tcp\udp).

NAMES:Le nom du conteneur attribué automatiquement.

Sur la machine hôte, utilisez la commandedocker logspour afficher la sortie standard à l'intérieur du conteneur :

example@example:~$ docker logs 2b1b7a428627

example@example:~$ docker logs amazing_cori


Arrêter les conteneurs

Nous utilisons la commandedocker stoppour arrêter le conteneur :

En vérifiant avecdocker ps, on constate que le conteneur a cessé de fonctionner :

example@example:~$ docker ps

Vous pouvez voir que le conteneur a disparu.

Vous pouvez également utiliser la commande suivante pour arrêter :

example@example:~$ docker stop amazing_cori
autres extensions