Qual è la differenza tra Dockerfile e Docker Compose

Qual è la differenza tra Dockerfile e Docker Compose
La piattaforma Docker funziona con componenti e strumenti diversi per la costruzione, la condivisione e la distribuzione di applicazioni e progetti. La piattaforma Docker offre il software in piccoli pacchetti eseguibili chiamati contenitori. Questi contenitori sono costruiti e gestiti tramite istruzioni di file Docker e strumento Docker Compose.

Questo articolo dimostrerà:

  • Differenza tra Dockerfile e Docker Compose
  • Come creare e utilizzare Dockerfile?

Differenza tra Dockerfile e Docker Compose

Dockerfile e Docker Compose sono entrambi utilizzati per containerizzare applicazioni e progetti. La differenza chiave tra questi due componenti è che "Dockerfile"È un file di istruzioni utilizzato per specificare il modello di contenitore Docker sotto forma di istantanea o immagine. Tuttavia, Docker Compose è uno strumento che viene utilizzato in Docker per accendere i micro-servizi e le applicazioni multi-container.

In Docker Compose, i servizi e le applicazioni multi-container sono configurate tramite "docker-compose.YML"File e includere Dockerfile per specificare il contesto di build per il contenitore.

Come creare e utilizzare Dockerfile?

Per creare e utilizzare Dockerfile per la costruzione dell'istantanea per il contenitore, in primo luogo, creare un file Docker e includere istruzioni essenziali come immagine di base, file di origine e percorso, eseguibili, porte e volume. Per l'implementazione, guarda i passaggi forniti.

Passaggio 1: creare un file di programma

Innanzitutto, crea un file di programma chiamato "indice.html"E aggiungi il seguente codice nel file:






Ciao! Benvenuti in LinuxHint Tutorial



Passaggio 2: crea Dockerfile

Successivamente, crea un altro file chiamato "Dockerfile"Che containerizzerà il"indice.html" programma. A tale scopo, specificare i seguenti comandi o istruzioni:

  • "DA"Definisce l'immagine di base del contenitore.
  • "COPIA"Copie o aggiunge il file di origine al percorso del contenitore.
  • "PUNTO D'ENTRATA"Definisce gli eseguibili per i contenitori:
Da nginx: ultimo
Copia indice.html/usr/share/nginx/html/indice.html
Entrypoint ["nginx", "-g", "daemon off;"]

Passaggio 3: creare l'istantanea/immagine del contenitore

Nel passaggio successivo, costruire l'istantanea o l'immagine del contenitore utilizzando il "Docker build -t "Comando. Il nome dell'immagine del contenitore è definito tramite "-T" opzione:

Docker build -t html -image .

Passaggio 4: eseguire il contenitore

Crea e avvia il contenitore tramite l'istantanea appena creata utilizzando il "Docker Run"Comando. Qui, "-P"Specifica la porta di esposizione del contenitore:

Docker Run -P 80:80 HTML -Image

Per la verifica, consultare la porta assegnata dell'host locale e verificare se il contenitore è in esecuzione o meno:

Come creare e utilizzare il file di compori?

Per configurare i più contenitori o microservizi in Docker Compose, prima, crea un “docker-compose.YML"File e configurare le istruzioni nel file. Per l'illustrazione, seguire le istruzioni fornite.

Passaggio 1: creare un file di composizione

Innanzitutto, configurare l'applicazione in un contenitore o altri microservizi specificando le istruzioni essenziali nel file. Ad esempio, abbiamo configurato il "indice.html"Programma configurando le seguenti istruzioni:

  • "Servizi"La chiave specifica i servizi nel file di composizione. Ad esempio, abbiamo configurato "ragnatela" E "Web1"Servizi per eseguire il programma HTML.
  • "costruire"La chiave viene utilizzata per specificare il contesto di build per il contenitore. A tale scopo, le istruzioni Dockerfile saranno utilizzate dal "ragnatela" servizio.
  • "porti"La chiave definisce la porta esposta di contenitori.
  • "Immagine"La chiave viene utilizzata per specificare l'immagine di base per il servizio:
Versione: "3"
Servizi:
ragnatela:
costruire: .
Porte:
- 80:80
Web1:
Immagine: Image HTML
Porte:
- 80

Passaggio 2: avviare il contenitore

Accendi i servizi in contenitori utilizzando il “Docker-Opse Up"Comando. IL "-D"L'opzione viene utilizzata per eseguire i servizi in modalità distaccata:

docker -compose up -d

Per conferma, visitare l'host locale e verificare se il servizio è in esecuzione o meno:

Questo è tutto sulla distinzione tra Dockerfile e Docker Componge.

Conclusione

Dockerfile e Docker Composi vengono utilizzati entrambi per configurare l'applicazione e i servizi nel contenitore. La differenza chiave tra questi due componenti è che Dockerfile viene semplicemente definito un'istruzione o un file di testo per creare l'istantanea del contenitore. Al contrario, Docker Compose è uno strumento di configurazione dei microservizi utilizzato per configurare più applicazioni e servizi di contenitori in contenitori separati. Questo articolo ha illustrato la distinzione tra Dockerfile e Docker Compose.