PAGE

Docker Commands

Elenco dei comandi Docker più utilizzati

Immagini

file_type_docker Lista delle Immagini buildate
docker images

file_type_docker Crea un immagine partendo da un File Dockefile con nome
docker build -t nome_tua_immagine .

//da un file specifico

docker build . -f docker/Dockefile -t my-image-app:latest

file_type_docker Elimina una imagine,non deve avere container associati attivi
docker rmi nome_immagine


Container

file_type_docker Lista di tutti i container attivi e non
docker ps -a

file_type_docker Crea un container ma non lo avvia
docker container create --name container_test nome_immagine

file_type_docker Crea un container e lo avvia
docker container run nome_immagine //nome generato automaticamente
docker container run --name container_test nome_immagine

file_type_docker Elimina un container,stoppalo prima
docker rm <codice_container> o <nome_container>

Per ottenere il codice lancia docker ps -a e prendi l’ID basta inserire le prime 2/3 cifre se è univoco

file_type_docker Start/Stop Container
docker start <codice_container> o <nome_container>
docker stop <codice_container> o <nome_container>

Importante : eseguire Shell Bash in un Container

file_type_docker Shell Bash in un Container
docker exec -ti <codice_container> bash

Esempio:

docker exec -ti 068 bash

Importante : eseguire un comando e distruggere il container

file_type_docker Shell Bash in un Container
docker run -it --rm mia_immagine bash

Esempio:
docker run -it --rm ruby:latest bash

Docker run è per la creazione di contenitori.

È importante differenziarlo da exec, utilizzato per interagire con i contenitori già in esecuzione.


Approfondimento : Dati e Volumi

Dati temporanei

I dati possono essere temporaneamente conservati all’interno di un contenitore Docker in due modi. Per impostazione predefinita, i file creati da un’applicazione all’interno di un contenitore sono memorizzati nel livello scrivibile del contenitore. Non devi impostare nulla. Questo è il modo rapido e sporco. Basta salvare un file e occuparsi della tua attività. Tuttavia, quando il container cessa di esistere, lo saranno anche i tuoi dati.

Dati persistenti

Esistono due modi per conservare i dati oltre la durata del contenitore. Un modo consiste nel legare mount di un file system al contenitore. Con un bind mount, anche i processi all’esterno di Docker possono modificare i dati.

Volumi Container Docker

I volumi sono il modo migliore per conservare i dati.

Un volume è un file system che risiede su una macchina host al di fuori di qualsiasi contenitore. I volumi sono creati e gestiti da Docker.

Creare Volumi

I volumi possono essere creati tramite un Dockerfile o una richiesta API.

file_type_docker Creare un volume
docker volume create --name my_volume

docker volume rm my_volume //Eliminare un volume

Cancellare tutti i volumi delle immagini cancellate

file_type_docker Cancellare tutti i volumi
docker volume prune (RISCHIOSOOOOOOO --> cancella tutti i volumi, tutti dischi!!!!)

file_type_docker Lista di tutti i volumi
docker volume ls

Esempio di esecuzione di un app con node su docker

file_type_docker Lista di tutti i volumi
#docker build -t my_immagine_node .  -> crea l'immagine con il nome indicato con un Dockerfile from NODE

#docker run --rm -it -v ${PWD}:/usr/src/app -v volume_my_immagine_node_cache:/root/.npm my_immagine_node npm install

#docker run --rm -it -v ${PWD}:/usr/src/app -v volume_my_immagine_node_cache:/root/.npm -p 8080:8080 my_immagine_node npm run serve

cointainer dell’imm per ogni comando che ci serve,elimina il container al termine del comando con –rm è interattivo con -it monta due volumi -v uno per il codice sorgente,l’altro per la cache dei node modules -p espone la porta del container all’esterno

Commenti

Se non visualizzi i commenti correttamente Ricarica la pagina

CONTENT SECTION

Ricevi la Guida Pdf e
Il Mini Corso Gratuito

Le migliori tecnologie per diventare uno sviluppatore Web al passo con i tempi

Corso Gratuito - Sviluppatore Web nel 2020