Docker & Kubernetes for Developers · Leçon

Connecter les conteneurs avec les réseaux Docker Compose

Utilisez Docker Compose pour définir des applications composées de plusieurs conteneurs et leur permettre de communiquer sur un réseau pont créé automatiquement, en utilisant les noms des services.

Leçon 4 sur 413 étapes

Connecter les conteneurs avec les réseaux Docker Compose est une leçon Docker & Kubernetes for Developers gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Docker & Kubernetes for Developers, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Docker & Kubernetes for Developers comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Why Compose for Networking

Running many containers and wiring their networks by hand is tedious. Docker Compose describes your whole stack in one YAML file and creates a dedicated network so services can find each other.

The Default Compose Network

When you run docker compose up, Compose creates a single user-defined bridge network for the project. Every service joins it automatically, so no manual docker network create is needed.

Service Names as Hostnames

On a Compose network, each service is reachable by its service name via built-in DNS. A service named db is reachable at the hostname db from any other service.

A Minimal Compose File

Two services on one network: a web app and a database.

version: "3.9"
services:
  web:
    image: myapp:latest
    ports:
      - "8080:80"
  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: secret

Connecting to db by Name

Inside the web container, the connection string points to the service name, not an IP:

DATABASE_URL=postgres://postgres:secret@db:5432/postgres

Defining Custom Networks

You can declare named networks to isolate groups of services.

services:
  web:
    image: myapp
    networks: [frontend]
  api:
    image: myapi
    networks: [frontend, backend]
  db:
    image: postgres
    networks: [backend]
networks:
  frontend:
  backend:

Network Isolation in Practice

In the example above, web can reach api but NOT db, because they share no network. This limits the blast radius if a frontend container is compromised.

Exposing vs Publishing Ports

expose makes a port reachable only to other containers on the network. ports publishes it to the host. Internal services like databases should usually only be exposed, never published.

Aliases for Services

You can give a service extra DNS names with aliases, handy when migrating from an old hostname.

services:
  db:
    image: postgres
    networks:
      backend:
        aliases:
          - database
          - legacy-db
networks:
  backend:

Connecting to External Networks

Set a network as external: true to attach services to a network created outside this Compose file, sharing it across projects.

networks:
  shared:
    external: true

Inspecting the Network

List and inspect the network Compose created to confirm which containers are attached.

docker network ls
docker network inspect myproject_default

Quick Check

Test what you have learned.

Recap

You learned that Docker Compose creates a network per project, lets services talk by service name, and supports custom networks for isolation, expose vs ports, aliases, and external networks.

Gratuit pour commencer

Apprends Docker & Kubernetes for Developers avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
12
Leçons
48

Questions Fréquemment Posées

La leçon « Connecter les conteneurs avec les réseaux Docker Compose » est-elle gratuite ?

Oui — le texte complet de « Connecter les conteneurs avec les réseaux Docker Compose » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Docker & Kubernetes for Developers, passe à CoddyKit PRO. Le cours Docker & Kubernetes for Developers comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Connecter les conteneurs avec les réseaux Docker Compose » ?

Utilisez Docker Compose pour définir des applications composées de plusieurs conteneurs et leur permettre de communiquer sur un réseau pont créé automatiquement, en utilisant les noms des services. Tu pratiques Docker & Kubernetes for Developers avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Docker & Kubernetes for Developers ?

Aucune expérience préalable n'est requise. Docker & Kubernetes for Developers sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Connecter les conteneurs avec les réseaux Docker Compose » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Docker & Kubernetes for Developers ?

Oui. Chaque leçon Docker & Kubernetes for Developers inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Comprendre les types de réseaux Docker
  2. Configurer les réseaux de conteneurs
  3. Persistance des données avec les volumes
  4. Connecter les conteneurs avec les réseaux Docker Compose
← Retour à Docker & Kubernetes for Developers