Partager 1 conteneur BDD avec plusieurs autres conteneur
Comment partager un conteneur de BDD avec les autres ?
Pour ce faire nous allons mettre en place un nouveau réseau (Network) et connecter les conteneurs entre eux via ce nouveau réseau. L'architecture pourra être schématisé de la manière suivante :

1/ Créer le nouveau Network
La création d'un nouveau réseau avec Docker est très simple. Il suffit d'exécuter la commande suivante :
sudo docker network create <new_network_name>
Nous pouvons vérifier la création du réseau avec la commande suivante :
sudo docker network list
Ce qui donne la sortie suivante :
user@servername:~$ sudo docker network list
NETWORK ID NAME DRIVER SCOPE
29f7ba793880 newnetwork bridge local
21bac3cf5868 bridge bridge local
035d5327faeb host host local
041e2c568093 none null local
Nous pouvons voir que le Network newnetwork existe bien.
2/ Créer le conteneur BDD
Après avoir créé le réseau, nous allons maintenant créer le conteneur de la base de données et le connecter a ce nouveau réseau.
Nous pouvons créer un conteneur avec la commande suivante :
sudo docker run -d --name postgres --network newnetwork -e POSTGRES_USER="postgres"
Ou via un docker compose :
version: '3.8'
services:
db:
image: postgres:14-alpine
container_name: postgres
restart: always
networks:
- newnetwork
ports:
- '5432:5432'
volumes:
- /var/lib/postgres/data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=passwordPostgres
volumes:
postgres-data:
networks:
bddnetwork:newnetwork: # Nom du nouveau Network
external: true