Formation DevOps | Formation Terraform : 22- Réseau :Les links Docker
L’installation de Docker crée par défaut un réseau nommé bridge (interface Docker0).
Il est utilisé par les conteneurs si aucun réseau n’est spécifié au lancement (option –network=mon_reseau )
une adresse IP prive ainsi qu’une adresse MAC sont assignées au bridge , configuration des tables de routage (route et iptables).
Par défaut, tous les conteneurs peuvent communiquer entre eux sur le réseau bridge.
Pour plus de sécurité, il est possible de désactiver ce comportement (option DOCKER_OPTS="-icc=false" de la
configuration de daemon).$ docker network ls
NETWORK ID NAME
DRIVER SCOPE
8dd02d7ad16f bridge
bridge local
72244137afae host
host local
f7ab4027acf8 none
null local
$ docker network inspect bridge
{
“Name”: “bridge”,
“Id”:
“8dd02d7ad16f9e47a774f0ee5a652a606ecc23bcc15c126d3e6fbf6fd1c3465c”,
“Created”: “2017- 12 - 05T16:44:54.821533922+01:00”,
“Scope”: “local”,
“Driver”: “bridge”,
“EnableIPv6”: false,
“IPAM”: {
“Driver”: “default”,
“Options”: null,
“Config”: [
{
“Subnet”: “172.17.0.0/16”,
“Gateway”: “172.17.0.1”
}
Les conteneurs utilisent une adresse IP fournie par le daemon Docker (réseau privé non routable: 172.17.0.0/16,
gateway: 172.17.0.1).
Sous linux, Docker utilise netfilter (iptables) pour implémenter les fonctions de NAT qui permettent aux conteneurs de communiquer avec l’extérieur en utilisant l’adresse IP de l’hôte et les fonctions de DNAT
pour joindre les conteneurs depuis l’extérieur en utilisant un port particulier.
$ docker run -d -p 8006:80 –name test_port nginx
Ici l’option -p permet d’exposer le port 80 du conteneur et de joindre le conteneur sur le port 8006 et l’adresse IP de l’hôte
Faire communiquer deux conteneurs (option : –link )
On démarre un conteneur avec une database MySQL
$ docker run –name mysql -e MYSQL_ROOT_PASSWORD=bonjour -d mysql:5.7
L’option -e (dans l’exemple ci-dessus –e MYSQL_ROOT_PASSWORD=bonjour ) permet de passer des variables
d’environnement au conteneur (ici on définit le password root de la base de données).
On démarre ensuite un conteneur avec l’interface PHPmyadmin, qui permet d’administrer une base de données
MySQL.
L’option –link permet de renseigner le fichier host du conteneur phpmyadmin pour qu’il puisse se connecter à la base de données.
$ docker run –name phpmyadmin -d –link mysql:db -p 8080:80 phpmyadmin/
On consulte le fichier hosts du conteneur phpmyadmin:
$ docker exec phpmyadmin cat /etc/hosts
cat /etc/hosts
127.0.0.1 localhost
172.17.0.3 db d72489c44026 mysql
172.17.0.4 7d5ed10b026e
Ici on constate que les alias db et mysql pointent vers l’ip 172.17.0.3 du serveur MySQL
$ docker inspect mysql | grep
IP
“LinkLocalIPv6Address”: “”,
“LinkLocalIPv6PrefixLen”: 0,
“SecondaryIPAddresses”: null,
“SecondaryIPv6Addresses”:
null,
“GlobalIPv6Address”: “”,
“GlobalIPv6PrefixLen”: 0,
“IPAddress”: “172.17.0.3”,
“IPPrefixLen”: 16,
“IPv6Gateway”: “”,
“IPAMConfig”: null,
“IPAddress”: “172.17.0.3”,
“IPPrefixLen”: 16,
“IPv6Gateway”: “”,
“GlobalIPv6Address”: “”,
“GlobalIPv6PrefixLen”: 0,
La commande inspect permet de confirmer l’adresse IP du conteneur MySQL. On teste depuis un navigateur avec l’URL : http://
administrer la base. ```
1. Nous contactez
- Description: Besoin de Formation et des Solutions cloud complètes pour vos applications
- Links:
2. Infra as a Service
- Description: Infrastructure cloud évolutive et sécurisée
- Links:
3. Projets Développeurs
- Description: Découvrez des opportunités passionnantes pour les développeurs
- Links:
4. Développeurs
- Description: Rejoignez notre communauté de développeurs
- Links:
5. Formations Complètes
- Description: Accédez à des formations professionnelles de haute qualité
- Links:
6. Marketplace
- Description: Découvrez notre place de marché de services
- Links:
7. Blogs
- Description: Découvrez nos blogs
- Links:
- comment creer une application mobile ?
- Comment monitorer un site web ?
- Command Checkout in git ?
- Comment git checkout to commit ?
- supprimer une branche git
- dockercoin
- kubernetes c est quoi
- architecture kubernetes
- Installer Gitlab Runner ?
- .gitlab-ci.yml exemples
- CI/CD
- svelte 5 vs solid
- svelte vs lit
- solidjs vs qwik
- alpine vs vue
- Plateform Freelance 2025
- Creation d’un site Web gratuitement
This website is powered by ItGalaxy.io