CodeGym /Corsi /Docker SELF /Creazione di Dockerfile per ogni servizio

Creazione di Dockerfile per ogni servizio

Docker SELF
Livello 23 , Lezione 2
Disponibile

3.1 Creazione di un Dockerfile per il frontend (ReactJS)

In questo passaggio creeremo un Dockerfile per ciascuno dei tre servizi della nostra applicazione multicontenitore: il frontend su ReactJS, il backend su Python (Flask) e il database PostgreSQL. Il Dockerfile definisce le istruzioni per creare un'immagine Docker per ogni servizio.

Crea un file Dockerfile nella directory frontend:

Terminale

cd frontend
touch Dockerfile

Contenuto del Dockerfile per il frontend:

Terminale

# Usiamo l'immagine base di node
FROM node:14

# Impostiamo la directory di lavoro
WORKDIR /app

# Copiamo package.json e package-lock.json per installare le dipendenze
COPY package*.json ./

# Installiamo le dipendenze
RUN npm install

# Copiamo gli altri file del progetto
COPY . .

# Impostiamo la porta 3000
EXPOSE 3000

# Avviamo l'applicazione
CMD ["npm", "start"]

Questo Dockerfile fa i seguenti passi:

  1. Usa l'immagine base node:14.
  2. Imposta la directory di lavoro /app.
  3. Copia i file package.json e package-lock.json.
  4. Installa le dipendenze usando npm install.
  5. Copia tutti i file del progetto nella directory di lavoro.
  6. Apre la porta 3000 per accedere all'applicazione.
  7. Avvia l'applicazione usando npm start.

3.2 Creazione del Dockerfile per il backend (Flask)

Crea un file Dockerfile nella directory backend:

Terminal

cd backend
touch Dockerfile

Contenuto del Dockerfile per il backend:

dockerfile

# Usiamo l'immagine base python
FROM python:3.12

# Impostiamo la directory di lavoro
WORKDIR /app

# Copiamo requirements.txt per installare le dipendenze
COPY requirements.txt ./

# Installiamo le dipendenze
RUN pip install --no-cache-dir -r requirements.txt

# Copiamo il resto dei file del progetto
COPY . .

# Impostiamo la porta 5000
EXPOSE 5000

# Avviamo l'applicazione
CMD ["python", "run.py"]

Questo Dockerfile esegue i seguenti passaggi:

  1. Usa l'immagine base python:3.12.
  2. Imposta la directory di lavoro /app.
  3. Copia il file requirements.txt.
  4. Installa le dipendenze usando pip install.
  5. Copia tutti i file del progetto nella directory di lavoro.
  6. Apre la porta 5000 per l'accesso all'applicazione.
  7. Avvia l'applicazione usando python run.py.

3.3 Creazione di un Dockerfile per il database (PostgreSQL)

Per il database PostgreSQL useremo l'immagine ufficiale, quindi non è necessario creare un Dockerfile personalizzato. Invece, configureremo PostgreSQL attraverso docker-compose.yml.

3.4 Build e test delle immagini Docker

Dopo aver creato i Dockerfile per il frontend e il backend, è importante testare la loro build.

Build dell'immagine Docker per il frontend:

Terminal

cd frontend
docker build -t task_management_frontend .

Build dell'immagine Docker per il backend:

Terminal

cd ../backend
docker build -t task_management_backend .

Verifica del funzionamento dei container:

Avvio del container per il frontend:

Terminal

docker run -p 3000:3000 task_management_frontend

Avvio del container per il backend:

Terminal

docker run -p 5000:5000 task_management_backend

Vai all'indirizzo http://localhost:3000 per verificare il funzionamento del frontend e a http://localhost:5000 per verificare il funzionamento del backend.

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