TP1 : Premier container - PasRP-Theo/Admin-II GitHub Wiki
- Théo
- Barish
- Date de réalisation : 03/02/2025
Démarrer un premier container avec l'image officielle hello-world
:
docker run hello-world
Lister les containers :
docker ps -a
Informations sur le container :
-
ID :
5c1dbd498a20
-
Nom :
gifted_chaum
-
État :
Exited
-
Image :
hello-world
-
Commande exécutée :
/hello
Lister les images disponibles :
docker images
Informations observées :
-
REPOSITORY
: Nom de l'image -
TAG
: Version de l'image -
IMAGE ID
: Identifiant unique -
CREATED
: Date de création -
SIZE
: Taille de l'image
Supprimer une image Docker :
docker rmi <nomImage>
Lancer un container en mode interactif :
docker run -it <nomImage> /bin/bash
Explication des options :
-
-i
: Mode interactif -
-t
: TTY (terminal interactif)
Vérification des processus actifs dans le container :
ps aux
Utilisateur connecté :
whoami
Test de connectivité Internet :
ping -c 4 google.com
Obtenir l'adresse IP du container :
docker inspect <containerID> | grep -i "IPAddress"
Vérifier les ports ouverts :
docker inspect <containerID> | grep -i "ports"
Vérifier les ports mappés :
docker inspect <containerID> | grep -i "port"
Exemple avec Nginx :
docker run -d -p 80:80 nginx
Cela expose le port 80 du container sur le port 80 de l'hôte.
Créer une image à partir d'un container en cours d'exécution :
docker container commit <containerID> <nom-image>
Exemple de Dockerfile
:
FROM nginx:latest
COPY index.html /usr/share/nginx/html/
Construire l'image :
docker build -t mon-nginx .
FROM httpd:latest
COPY ./myconfig.conf /usr/local/apache2/conf/httpd.conf
Configurer les virtual hosts dans httpd.conf
:
Listen 8080
<VirtualHost *:8080>
DocumentRoot /usr/local/apache2/htdocs/
</VirtualHost>
Démarrer le container :
docker run -d -p 80:80 -p 8080:8080 mon-apache
Exécuter Bind9 en container :
docker run -d --name my-bind9 -p 1053:53/udp -p 1053:53/tcp ubuntu/bind9
Tracer le trafic avec Wireshark pour vérifier la résolution DNS.
FROM python:latest
ADD script.py .
CMD python3 script.py
from datetime import datetime
now = datetime.now()
print(f"Nous sommes le {now.date()} à {now.time()}")
Démarrer le container :
docker run --name test test