CodeGym /Cours /Docker SELF /Création d'un Dockerfile pour chaque service

Création d'un Dockerfile pour chaque service

Docker SELF
Niveau 23 , Leçon 2
Disponible

3.1 Création de Dockerfile pour le frontend (ReactJS)

À cette étape, on va créer un Dockerfile pour chacun des trois services de notre application multi-conteneurs : le frontend en ReactJS, le backend en Python (Flask) et la base de données PostgreSQL. Le Dockerfile définit les instructions pour créer une image Docker pour chaque service.

Crée un fichier Dockerfile dans le répertoire frontend :

Terminal

cd frontend
touch Dockerfile

Contenu du Dockerfile pour le frontend :

Terminal

# Utiliser l'image de base node
FROM node:14

# Configurer le répertoire de travail
WORKDIR /app

# Copier package.json et package-lock.json pour installer les dépendances
COPY package*.json ./

# Installer les dépendances
RUN npm install

# Copier les autres fichiers du projet
COPY . .

# Configurer le port 3000
EXPOSE 3000

# Lancer l'application
CMD ["npm", "start"]

Ce Dockerfile fait les étapes suivantes :

  1. Utilise l'image de base node:14.
  2. Configure le répertoire de travail /app.
  3. Copie les fichiers package.json et package-lock.json.
  4. Installe les dépendances avec npm install.
  5. Copie tous les fichiers du projet dans le répertoire de travail.
  6. Ouvre le port 3000 pour accéder à l'application.
  7. Lance l'application avec npm start.

3.2 Création de Dockerfile pour le backend (Flask)

Crée un fichier Dockerfile dans le répertoire backend :

Terminal

cd backend
touch Dockerfile

Contenu de Dockerfile pour le backend :

dockerfile

# On utilise l'image de base python
FROM python:3.12

# On définit le répertoire de travail
WORKDIR /app

# On copie le fichier requirements.txt pour installer les dépendances
COPY requirements.txt ./

# Installation des dépendances
RUN pip install --no-cache-dir -r requirements.txt

# On copie les autres fichiers du projet
COPY . .

# On définit le port 5000
EXPOSE 5000

# On lance l'application
CMD ["python", "run.py"]

Ce Dockerfile effectue les étapes suivantes :

  1. Utilise l'image de base python:3.12.
  2. Définit le répertoire de travail /app.
  3. Copie le fichier requirements.txt.
  4. Installe les dépendances avec pip install.
  5. Copie tous les fichiers du projet dans le répertoire de travail.
  6. Ouvre le port 5000 pour accéder à l'application.
  7. Lance l'application avec python run.py.

3.3 Création du Dockerfile pour la base de données (PostgreSQL)

Pour la base de données PostgreSQL, on va utiliser l'image officielle, donc créer un Dockerfile personnalisé n'est pas nécessaire. À la place, on va configurer PostgreSQL via docker-compose.yml.

3.4 Compilation et test des images Docker

Après avoir créé le Dockerfile pour le frontend et le backend, c'est important de tester leur compilation.

Compilation de l'image Docker pour le frontend :

Terminal

cd frontend
docker build -t task_management_frontend .

Compilation de l'image Docker pour le backend :

Terminal

cd ../backend
docker build -t task_management_backend .

Vérification du fonctionnement des containers :

Lancement du container pour le frontend :

Terminal

docker run -p 3000:3000 task_management_frontend

Lancement du container pour le backend :

Terminal

docker run -p 5000:5000 task_management_backend

Va sur l'adresse http://localhost:3000 pour vérifier le frontend, et http://localhost:5000 pour vérifier le backend.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION