Come dockerizzare un’app Django

Come dockerizzare un’app Django

Docker è una delle piattaforme di container più popolari, che ti consente di gestire applicazioni containerizzate. Docker fornisce architettura e funzionalità per l’automazione dei container, la sicurezza, la personalizzazione e il supporto aziendale.

Docker ha tre componenti importanti: il client Docker (uno strumento da riga di comando), l’host Docker e il registro Docker. Questi tre componenti interagiscono per consentire la creazione, l’esecuzione e l’archiviazione delle applicazioni.

Scopri come utilizzare questo straordinario strumento containerizzando un’app Django di esempio. Innanzitutto, impara a installare Docker su Ubuntu, macOS e Windows.

Installa Docker su Ubuntu

Inizia installando Docker sul tuo sistema operativo preferito. Puoi seguire queste note per installare Docker su Ubuntu o utilizzare le seguenti istruzioni per macOS o Windows.

Installa Docker su macOS

Per installare Docker su macOS, assicurati di avere macOS 11 o versioni successive. Quindi segui questi passaggi:

  1. Scarica Docker dal sito Web dell’hub Docker .
  2. Fare doppio clic su Docker.dmg per aprire il programma di installazione.
  3. Trascina l’ icona Docker nella cartella Applicazioni.
  4. Per avviare Docker, fai doppio clic su Docker.app .
  5. Il logo Docker whale sulla barra di stato indica che Docker è in esecuzione.

Puoi anche installare Docker su macOS tramite la riga di comando seguendo le istruzioni di installazione di Docker Mac .

Installa Docker su Windows

Seguire i passaggi seguenti per installare il desktop Docker sul sistema operativo Windows:

  1. Scarica Docker dal sito Web dell’hub Docker .
  2. Fare doppio clic su Docker Desktop Installer.exe per eseguire il programma di installazione.
  3. Abilitare la funzionalità Windows Hyper-V nella pagina Configurazione durante l’installazione.
  4. Segui la procedura e concedi tutte le autorizzazioni fino al completamento dell’installazione.
  5. Dopo l’installazione, fare clic su Chiudi per completare il processo.
  6. Per avviare Docker, cercare e selezionare Docker Desktop nei risultati della ricerca sul desktop.

In alternativa, puoi installare Docker su sistema operativo Windows utilizzando una riga di comando seguendo le istruzioni di installazione di Docker Windows .

Crea l’app Django

Crea una semplice app Django. Puoi vedere l’app quando navighi su http://127.0.0.1:8000. Contenizzerai questa app.

App su browser con Hello docker H1

Crea un file Docker

Per containerizzare l’app, devi creare un’immagine Docker per creare ed eseguire i container. Un’immagine Docker è un modello di istruzioni su come eseguire i contenitori.

Utilizzerai un Dockerfile per creare un’immagine per l’app. Crea un file nella cartella principale chiamato Dockerfile. Quindi, aggiungi le seguenti istruzioni al file:

FROM python:3

WORKDIR /app

ADD. /app/

EXPOSE 8000

COPY requirements.txt /app

RUN pip3 install -r requirements.txt --no-cache-dir

COPY. /app

ENTRYPOINT ["python3"]

CMD ["manage.py", "runserver", "0.0.0.0:8000"]

I Dockerfile utilizzano parole chiave Docker univoche per specificare le istruzioni.

La parola chiave FROM identifica l’immagine di base con cui vuoi costruire l’immagine. L’immagine Python di Docker ha i componenti necessari per eseguire l’app Django. Docker utilizzerà la stessa immagine nelle build successive.

La parola chiave WORKDIR crea una directory all’interno del contenitore. Il comando di esempio identifica la directory /app come cartella principale.

Il comando ADD aggiunge tutto nella cartella corrente nella cartella /app .

La parola chiave EXPOSE espone al mondo esterno una porta all’interno dell’immagine Docker. Puoi visualizzare l’app containerizzata su questa porta utilizzando un browser.

La parola chiave COPY copia il contenuto da una cartella e lo inserisce in un’altra. Nel tuo caso, copierà tutti i contenuti dell’app dalla directory corrente. I contenuti andranno nella cartella App nel contenitore.

La parola chiave RUN esegue qualsiasi comando in un nuovo livello dell’immagine corrente e conferma i risultati. Il passaggio successivo nel Dockerfile utilizzerà l’immagine salvata risultante.

La parola chiave ENTRYPOINT definisce un contenitore come eseguibile. In questo caso, è Python3. Puoi usarlo con o al posto della parola chiave CMD . Un Dockerfile deve specificare una o entrambe le parole chiave CMD o ENTRYPOINT . Docker definisce come cooperano le due istruzioni.

La parola chiave CMD esegue un comando Linux all’avvio dell’immagine. L’istruzione definisce quale comando viene eseguito quando si esegue un contenitore.

Crea l’immagine Docker

Ora che il Dockerfile è completo, vai avanti e crea l’immagine Docker. Eseguire il comando seguente per creare l’immagine:

docker build --tag docker-django-app:latest.

Quando inizia a costruire, Docker costruirà l’immagine a strati. I livelli saranno in base al numero di istruzioni fornite nel Dockerfile . In questo caso, avrai nove livelli. Nove gradini rappresenteranno questi strati.

Una build di successo apparirà così:

docker crea correttamente l'immagine

Ora, se controlli le immagini della tua finestra mobile, dovresti vedere la nuova immagine.

immagine appena creata sulla finestra mobile

Eseguire il contenitore Docker

Successivamente, è necessario eseguire l’immagine nel contenitore. Qui è dove vivrà l’app. Eseguire il seguente comando per eseguire l’immagine:

docker run --name docker-djangoapp -p 8000:80 -d docker-django-app:latest

Dovrebbe restituire un numero di serie per il contenitore in questo modo:

nuova app containerizzata

Il comando run di Docker consente i tag delle opzioni per le immagini. In questo caso, si desidera utilizzare il tag –name per assegnare un nome al contenitore docker-djangoapp . Quindi esegui il contenitore sulla porta 8000:80 con -p . Successivamente, specifica l’immagine con cui vuoi creare il contenitore. Questa è la docker-django-app: ultima immagine che hai creato in precedenza.

Il comando docker run crea un livello contenitore sull’immagine. Quindi lo avvia utilizzando il comando specificato. La sintassi per l’esecuzione dei contenitori è la seguente:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Controlla i container Docker per vedere se il container è in esecuzione. Quando esegui docker ps dovrebbe apparire come segue:

Nuovo contenitore in esecuzione nella finestra mobile

Congratulazioni! Hai containerizzato la tua prima App. Successivamente, puoi eseguire il push del contenitore nel registro Docker per l’archiviazione. Puoi accedere alla tua applicazione ogni volta che lo desideri da qualsiasi macchina.

Puoi anche condividerlo con altri online. Il registro offre sicurezza per le immagini e consente privilegi extra sugli account privati.

Perché dockerizzare un’app?

Sempre più sviluppatori utilizzano Docker per ottimizzare la creazione e la gestione di container in qualsiasi ambiente virtuale.

Docker viene fornito con funzionalità produttive, incluso un client che invia comandi di compilazione ai demoni Docker. Il daemon crea immagini ed esegue contenitori. Puoi creare e archiviare le immagini nel registro Docker. Ciò garantisce che le immagini siano sicure e disponibili online.

Docker offre immagini ufficiali già configurate con componenti già pronti. Puoi utilizzare queste immagini per creare rapidamente contenitori per le tue applicazioni.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *