Docker

Le principali istruzioni DockerFile

Lista delle principali istruzioni per utilizzare Dockerfile

Ecco degli esempi per ciascuna istruzione del Dockerfile:

FROM

La istruzione `FROM` specifica l'immagine di base da cui iniziare la costruzione.

FROM ubuntu:latest



Questo esempio usa l'immagine di base Ubuntu più recente come punto di partenza per la costruzione.

COPY o ADD

Le istruzioni `COPY` o `ADD` copiano file e directory dal file system dell'host nell'immagine Docker.

COPY ./app /usr/src/app


Questo esempio copia la directory `app` dal file system dell'host nella directory `/usr/src/app` dell'immagine Docker.

RUN

L'istruzione `RUN` esegue comandi shell durante il processo di costruzione dell'immagine.

RUN apt-get update && apt-get install -y nginx

Questo esempio aggiorna il repository dei pacchetti e installa nginx nell'immagine.

WORKDIR

L'istruzione `WORKDIR` imposta il directory di lavoro per le istruzioni successive nel Dockerfile.

WORKDIR /app

Questo esempio imposta `/app` come directory di lavoro per le istruzioni successive.

### 5. EXPOSE L'istruzione `EXPOSE` esprime le porte su cui il container ascolta durante l'esecuzione.


EXPOSE 80

Questo esempio esprime la porta 80, che potrebbe essere utilizzata per servire un'applicazione web.

CMD o ENTRYPOINT

Le istruzioni `CMD` o `ENTRYPOINT` specificano il comando di default da eseguire quando il container viene avviato.

CMD ["nginx", "-g", "daemon off;"]

Questo esempio avvia nginx come processo principale quando il container viene avviato.

ENV

L'istruzione `ENV` imposta variabili d'ambiente nel container.

ENV MY_VAR=myvalue

Questo esempio imposta la variabile d'ambiente `MY_VAR` con il valore `myvalue`.

VOLUME

L'istruzione `VOLUME` crea un punto di montaggio per i dati generati o per dati persistenti.


Questo esempio crea un punto di montaggio nella directory `/data` dell'immagine, che potrebbe essere utilizzato per memorizzare dati persistenti o condivisi tra container.

Livio Bollini
Walter Livio Bollini

Matematico & Informatico · Intelligenza Artificiale · Sviluppo Web