Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion exercice-1-port-web/COMMANDS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,22 @@

```bash
# Exemple de structure attendue
docker run -d --name web-port -p 8080:80 nginx
docker run -d --name web-port -p 8080:80 Nginx

docker port web-port

docker rm -f web-port

docker run -d --name web-port -p 127.0.0.1:8080:80 Nginx

docker rm -f web-port

Q1 :
Le port conteneur est le port interne sur lequel l'application écoute. Le port hôte est celui exposé sur notre machine physique pour permettre l'accès au conteneur depuis l'extérieur

Q2 :
'EXPOSE' est une instruction informative qui documente quel port l'image a l'intention d'utiliser. Seule l'option -p au moment du docker run créer réellement les règles de routage sur la machine hôte

Q3 :
C'est une pratique de sécurité necéssaire pour s'assurer que le service n'est pas exposé sur un réseau public ou local
```
27 changes: 27 additions & 0 deletions exercice-2-dns-bridge/COMMANDS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,31 @@
```bash
# Exemple de structure attendue
docker network create test_net

docker run -d --name serveur --network test_net Nginx

docker run --rm --network test_net alpine ping -c 2 serveur

docker network inspect test_net

docker run -d --name serveur-bridge Nginx

docker run --rm alpine ping -c 2 serveur-bridge

docker network connect test_net serveur-bridge

docker network disconnect test_net serveur-bridge

docker rm -f serveur serveur-bridge

docker network rm test_net

Q1 :
Pour l'isolation et la résolution de noms

Q2 :
Il permet aux conteneurs de se parler via leurs noms

Q3 :
Outil de diagnostic, il permet de voir quels conteneurs sont branchés
```
29 changes: 29 additions & 0 deletions exercice-3-web-db-network/COMMANDS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,34 @@
```bash
# Exemple de structure attendue
docker network create app_network

docker volume create db_volume

docker run -d --name mysql_db --network app_network -v db_volume:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:8.0

docker run -d --name webapp --network app_network -p 8080:80 Nginx

docker network inspect app_network

docker exec -it mysql_db mysql -proot -e "CREATE DATABASE tp_docker;"

docker rm -f mysql_db
docker run -d --name mysql_db --network app_network -v db_volume:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:8.0

docker exec -it mysql_db mysql -proot -e "SHOW DATABASES;"

docker rm -f webapp mysql_db

docker network rm app_network

docker volume rm db_volume

Q1 :
Pour la séurité, seule l'application web a besoin de lui parler, on empêche toute attaque extérieur directe sur la base de donnée et cachant les ports

Q2 :
Grâce au DNS interne, la webapp peut contacter la base et utilisant le nom d'hôte

Q3 :
toutes les données seraient perdu. MySQL recréer une BDD vide au démarrage du nouveau containeur
```