GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

File Docker

Un Dockerfile è la ricetta per creare un'immagine Docker.

Questo è il flusso di lavoro:prima crei un Dockefile, quindi crei un'immagine Docker da esso usando docker build e infine esegui un contenitore dall'immagine.

Un Dockerfile è un file di testo con istruzioni su come creare un'immagine.

Queste istruzioni fanno parte di un linguaggio di configurazione, che include parole chiave come FROM , LABEL , RUN , COPY , ENTRYPOINT , CMD , EXPOSE , ENV e altro ancora.

Creiamo il nostro primo Dockerfile:

Diciamo che hai una cartella con una semplice app Node.js composta da un app.js , un package.json file che elenca un paio di dipendenze che devi installare prima di eseguire l'app e package-lock.json .

Al suo interno, crea un file di testo semplice chiamato Dockerfile , senza estensione, con questo contenuto:

FROM node:14
WORKDIR /usr/src/app
COPY package*.json app.js ./
RUN npm install
EXPOSE 3000
CMD ["node", "app.js"]

NOTA:usa virgolette doppie nel CMD linea. Le virgolette singole risulteranno in un errore.

Nella prima riga diciamo da quale immagine vogliamo partire. Questa sarà la nostra immagine di base. In questo caso prenderà l'immagine ufficiale di Node.js, basata su Alpine Linux, utilizzando il nodo 14. Quando si crea un container dal Dockerfile, Docker otterrà quell'immagine da Docker Hub.

Quindi impostiamo la directory di lavoro su /usr/src/app , il che significa che tutti i nostri comandi verranno eseguiti in quella cartella fino a quando non la cambieremo di nuovo. Questa è una cartella che sappiamo già esiste nell'immagine del nodo.

Copiamo il package.json , package-lock.json (usando il * jolly) e app.js file presenti nella cartella corrente, nella directory di lavoro.

Eseguiamo npm install per installare i pacchetti elencati in package.json file.

Quindi esponiamo la porta 3000 all'esterno, poiché è su questo che gira la nostra app. Un container è isolato al 100% dalla rete a meno che tu non esponga una delle sue porte usando EXPOSE comando. Vedremo in seguito come mappare le porte sul nostro computer alle porte in un container Docker.

Infine eseguiamo node app.js per avviare l'app.

Questo è un Dockerfile e vedremo presto come creare effettivamente un contenitore da esso.


Docker
  1. Come ruotare un'immagine in Gs?

  2. Come utilizzare un Dockerfile per creare un'immagine Docker

  3. Creare un backup dell'immagine (clonazione)

  4. Ottimizzazione delle immagini con webp

  5. jpegoptim per l'ottimizzazione delle immagini

Una breve introduzione a Dockerfile

Che cos'è un manifesto di immagine Docker?

Come eseguire il debug degli errori "ImagePullBackOff" di Kubernetes

Distribuire un'installazione di MariaDB di Production Docker

Come ridurre le dimensioni dell'immagine Docker nei contenitori Docker

Condivisione di immagini Docker su Docker Hub