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
14 changes: 14 additions & 0 deletions exercice-1-port-web/COMMANDS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,18 @@
```bash
# Exemple de structure attendue
docker run -d --name web-port -p 8080:80 nginx

docker ps

docker rm web-port

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

Le port hote 8080 c'est le port de la machine qui permet d'acceder au service, alors que le port conteneur 80 est utilisé à l'intérieur du conteneur par l'application.

L'instruction `EXPOSE` n'ouvre pas vraiment le port mais juste montre les ports utilisés tandis que `-p` les rend accessible.

Limiter l'ecoute a `127.0.0.1` est-il utile pour les services internes et le developpement local le cas par exemple des API ou base de données.

docker rm web-port
```
22 changes: 22 additions & 0 deletions exercice-2-dns-bridge/COMMANDS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,26 @@
```bash
# Exemple de structure attendue
docker network create test_net

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

docker run --rm -it --network test_net alpine ping serveur

docker network inspect test_net

docker run -d --name serveur_bridge nginx
docker run --rm -it alpine ping serveur_bridge #le nom n'est pas résolu

docker network connect test_net serveur_bridge

docker network disconnect test_net serveur_bridge
docker stop serveur serveur_bridge
docker rm serveur serveur_bridge
docker network rm test_net

L'utilisation d'un reseau personnalise est recommandee pour des applications multi-conteneurs car ça permet une isolation réseau, une résolution rapide du DNS via le nom et une communication simple entre coneneur.

Le DNS interne Docker permet d'utiliser le nom du conteneur comme adresse.

`docker network inspect` permet d'inspecter le reseau afin d'identifier les conteneurs connectés et identifié les problèmes de communication réseau.
```
25 changes: 25 additions & 0 deletions exercice-3-web-db-network/COMMANDS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,29 @@
# 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=rootpass -e MYSQL_DATABASE=testdb mysql:8

docker network inspect app_network

docker exec -it mysql_db mysql -uroot -prootpass

docker stop mysql_db
docker rm mysql_db

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

docker exec -it mysql_db mysql -uroot -prootpass

docker stop webapp mysql_db
docker rm webapp mysql_db
docker network rm app_network
docker volume rm db_volume

La base de donnée n'a pas besoin car elle est accessible depuisvle reseau docker.

L'utilisation d'un reseau personnalise est recommandee pour des applications multi-conteneurs car ça permet une isolation réseau, une résolution rapide du DNS via le nom et une communication simple entre coneneur.

Si le volume n'etait pas reutilisé les données serait stocker dans le conteneur.

```