Initiation Docker

Apprenez les bases de Docker pour créer et gérer des conteneurs avec Dockerfile et docker-compose.yml.

Cette documentation couvre les bases de la création et de la gestion de conteneurs Docker à l'aide de fichiers Dockerfile et docker-compose.yml, ainsi que des commandes essentielles de Docker Compose.

Créer un Fichier docker-compose.yml

Le fichier docker-compose.yml est utilisé pour définir et exécuter des applications multi-conteneurs. Voici un exemple qui inclut un service PHP et un service MySQL :

Exemple de docker-compose.yml

version: '3'
services:
  web:
    build: .
    ports:
      - "9000:80"
    depends_on:
      - db
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: admin
      MYSQL_DATABASE: contentstudio
      MYSQL_USER: admin
      MYSQL_PASSWORD: admin
    ports:
      - "3306:3306"
    volumes:
      - dbdata:/var/lib/mysql
      - ./init.sql:/docker-entrypoint-initdb.d/init.sql

volumes:
  dbdata: 

Points Clés

  • Service web pour l'application PHP, construit à partir du Dockerfile dans le même répertoire.
  • Service db pour MySQL avec configuration de base de données.
  • Mapping des ports pour accès externe.
  • Volumes pour la persistance des données MySQL et l'initialisation de la base de données.

Rediriger un Domaine vers un Conteneur avec Nginx

Pour rediriger un nom de domaine spécifique vers un conteneur Docker, vous pouvez utiliser Nginx en tant que reverse proxy. Voici les étapes à suivre :

1. Installation et Configuration de Nginx

Installez Nginx sur votre serveur hôte. La configuration dépend de votre système d'exploitation.

2. Configuration des Virtual Hosts

Configurez un Virtual Host pour votre domaine dans Nginx. Créez ou éditez un fichier dans le répertoire /etc/nginx/sites-available/ et créez un lien symbolique dans /etc/nginx/sites-enabled/.

Exemple de Configuration pour Nginx

server {
    listen 80;
    server_name example.com www.example.com;

    location / {
        proxy_pass http://localhost:PORT;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Remplacez example.com avec votre nom de domaine et PORT avec le port sur lequel votre conteneur Docker écoute.

3. Redémarrer Nginx

Après avoir modifié la configuration, redémarrez Nginx pour appliquer les changements :

sudo systemctl restart nginx

4. Mise à Jour des DNS

Assurez-vous que les enregistrements DNS de votre domaine pointent vers l'adresse IP de votre serveur où Nginx est installé.

Résumé

  • Installez et configurez Nginx sur votre serveur.
  • Créez un Virtual Host pour votre domaine.
  • Redémarrez Nginx après la configuration.
  • Mettez à jour les DNS pour pointer vers votre serveur.

Cette documentation couvre les bases de la création et de la gestion de conteneurs Docker à l'aide de fichiers Dockerfile et docker-compose.yml, ainsi que la configuration de Nginx pour rediriger un domaine vers un conteneur Docker.