AdminII TP01 Prise en main - dudleydehenau/Ephec GitHub Wiki

Noms des auteurs : De Henau Dudley; Jonas Gendebien; Robin Clarembaux

Date de réalisation : 21-02-25

1. Premier container

1.1. Hello World

image le conteneur docker sert à m'assurer que mon installation fonctionne et précise ce que le containeur à fait. Le message entourré en rouge permet généralement à confirmer que tout fonctionne bien correctement.

1.2. Observer un container

Pour récupérer les différentes informationns sur les containeurs, sufit d'éxecuter sudo docker container ls -a.

image

  1. Son identifiant
  2. Son nom
  3. Son état
  4. Le nom de son image provenant du Docker Hub
  5. Le containeur à éxecuté /hello
  6. Dans Docker Desktop, voici ou trouver les informations :

docker-desktop-hero

Source de l'image : Wiki Github et modifier par nos soins.

1.3. Les images

En éxecutant sudo docker images ou sudo docker image ls -a, nous avons ceci :

image

  1. Cela nous informe de quelle image il s'agit, la version de l'image, l'ID de l'image, à quelle moment celle-ci à été créer et la place qu'elle prend sur la machine. Nous retrouvons ici le nom de l'image comme sur le docker : hello-world

  2. Pour comparer avec la vue desktop :

image

Source de l'image : Docker Community

Nous retrouvons ici la même chose :)

  1. Pour supprimer l'image, il suffit d'éxecuter sudo docker image rm {id_de_l_image}

2. Utiliser un container

2.1. Interagir avec un container

pour intéragir avec un docker, nous allons utiliser la commande sudo docker exec. Cette commande permet d'intéragir directement avec nos container. Pour exemple, pour entrer en cli dans un container, la commande approprié est sudo docker exec -it {nom_ou_id_du_container} /bin/bash

Pour l'exercice, nous allos prendre l'exemple de cette commande : docker run -it ubuntu bash

  1. Dans -it, le i signifie interactif. On garde la session d'échange ouverte dans le but que docker reçois nos prochaine entrée. le t lui sert à nous affiché un terminal pour que cela soit plus clair.
  2. Ici la commande est bash. On peux supposé qu'un alias à été configurer pour que la commande bash execute /bin/bash.
  3. Dans le container, le processus présent est la bash.

image

note : j'ai retiré de l'affichage le processus du gestionnaire de tâche

Son PID est 1

  1. Nous somme loggé avec root.

image

  1. Votre container a-t'il accès à Internet? Qui est son résolveur?

Mon container à accès à internet et son resolver est 213.186.33.99.

image

note : J'ai dû executer apt update && apt upgrade -y && apt install iputils-ping -y pour pouvoir ping

2.2. Inspecter un container

Pour avoir un container qui reste actif même sans interaction avec celui-ci, nous avons lancé un container nginx.

  1. Chaque container dispose d'une interface réseau. Après exécutions de ceci sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 87934c32ae voici celui de notre container nginx:

image

ça c'est la méthode qui récupère uniquement la ligne adresse ip. Sinon, sudo docker inspect 87934c32aeb2 permet de récupérer quasi toutes les infos de configuration.

  1. Pour récupérer le ports, il suffira de chercher avec la commande note juste au-dessus.

image

2.3. Faire tourner un service dans un container

Dans un premier temps, j'exécute ceci docker run -d --name=mon-serveur-web nginx.

Je ne peux pas accéder à mon site en exécuter un curl http://localhost

Capture d’écran du 2025-04-03 19-34-39

Depuis le docker ps, on peux voir que le port 80 est utilisé mais qu'on ne peux pas y accèder depuis l'extérieur.

Si maintenant je précise les ports dans la commande docker run (docker run -d -p 81:80 --name=mon-serveur-web nginx) je peux maintenant accèder à la page.

Capture d’écran du 2025-04-03 19-39-41

Et maintenant, le curl fonctionne.

Capture d’écran du 2025-04-03 19-37-12

⚠️ **GitHub.com Fallback** ⚠️