Skip to main content

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   newnetworkbddnet              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 newnetworkbddnet -e POSTGRES_USER="postgres" 

Ou via un docker compose : 

version: '3.8'

services:
  db:
    image: postgres:14-alpine
    container_name: postgres
    restart: always
    networks:
      - newnetworkbddnet
    ports:
      - '5432:5432'
    volumes:
      - /var/lib/postgres/data:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=passwordPostgres

volumes:
  postgres-data:
networks:
  newnetwork:bddnet:		# Nom du nouveau Network
    external: true