Skip to content

Cheat Sheet dei comandi Docker

Docker è un motore di container di applicazioni open source che consente agli sviluppatori di pacchettizzare le proprie applicazioni e dipendenze in un’immagine portabile, che può quindi essere rilasciata su qualsiasi macchina Linux o Windows popolare; è possibile ottenere anche la virtualizzazione. I container utilizzano interamente un meccanismo di sandbox e non hanno interfacce tra loro.

Utilizzo Generale

Avviare un container in background

docker run -d jenkins

Avviare un container interattivo

docker run -it ubuntu bash

Avviare un container che viene eliminato automaticamente all’arresto

docker run --rm ubuntu bash 

Avviare un container con mappatura delle porte

docker run -p 80:80 -d nginx 

Avviare un container nominato

docker run --name mydb redis 

Avviare un container arrestato

docker start mydb 

Arrestare un container

docker stop mydb

Avviare un container e aggiungere metadati

docker run -d \ label=traefik.backend=jenkins jenkins

Costruire Immagini (Build Images)

Costruire un’immagine da un Dockerfile nella directory corrente

docker build --tag myimage . 

Forzare la ricostruzione di un’immagine

docker build --no-cache . 

Eseguire il commit dei cambiamenti di un container in un’immagine

docker commit c7337 myimage 

Rimuovere tutte le immagini non utilizzate

docker rmi $(docker images -q -f "dangling=true")

Debug

Accedere a un container in esecuzione

docker exec -it c7337 docker

Mostrare i log di attività di un container demone in esecuzione

docker logs -f c7337

Mostrare le porte esposte di un container

docker port c7337

Volumi (Volumes)

Creare un volume locale

docker volume create --name myvol 

Montare un volume all’avvio del container

docker run -v myvol:/data redis

Distruggere un volume

docker volume rm myvol 

Elencare tutti i volumi

docker volume ls

Creare una rete locale

docker network create mynet 

Connettere un container a una rete all’avvio

docker run -d --net mynet redis

Connettere un container a una rete specifica

docker network connect mynet c7337 

Disconnettere un container da una rete

docker network disconnect mynet c7337

Gestione dei Container

Elencare i container in esecuzione

docker ps

Elencare tutti i container (inclusi quelli in esecuzione e arrestati)

docker ps -a

Ispezionare i metadati di un container

docker inspect c7337

Elencare tutte le immagini disponibili localmente

docker images

Rimuovere tutti i container arrestati

docker rm $(docker ps --filter status=exited -q) 

Elencare tutti i container con un’etichetta specifica

docker ps --filter label=traefik.backend

Interrogare un container in esecuzione con metadati specifici

docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337

Descrizione

Nome Immagine

redis, jenkins, nginx

Nome Container o ID Commit

mydb  # nome container 
c7337 # ID commit