Formation Devops | Formation Docker : 34- 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 databaseMySQL
$ 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 passwordroot 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 –linkpermet de renseigner le fichier host du conteneur phpmyadminpour qu’il puisse se connecter à la base de données.
$ docker run –name phpmyadmin-d –linkmysql:db-p 8080:80 phpmyadmin/
On consulte le fichier hosts du conteneur phpmyadmin:
$ docker execphpmyadmincat /etc/hosts
cat /etc/hosts
127.0.0.1 localhost
172.17.0.3 dbd72489c44026 mysql
172.17.0.4 7d5ed10b026e
Ici on constate que les alias dbet mysqlpointent vers l’ip172.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 inspectpermet de confirmer l’adresse IP du conteneur MySQL.
On teste depuis un navigateur avec l’URL : http://
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