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 jenkinsAvviare un container interattivo
docker run -it ubuntu bashAvviare 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 mydbAvviare un container e aggiungere metadati
docker run -d \ label=traefik.backend=jenkins jenkinsCostruire 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 dockerMostrare i log di attività di un container demone in esecuzione
docker logs -f c7337Mostrare le porte esposte di un container
docker port c7337Volumi (Volumes)
Creare un volume locale
docker volume create --name myvol Montare un volume all’avvio del container
docker run -v myvol:/data redisDistruggere un volume
docker volume rm myvol Elencare tutti i volumi
docker volume lsCreare una rete locale
docker network create mynet Connettere un container a una rete all’avvio
docker run -d --net mynet redisConnettere un container a una rete specifica
docker network connect mynet c7337 Disconnettere un container da una rete
docker network disconnect mynet c7337Gestione dei Container
Elencare i container in esecuzione
docker psElencare tutti i container (inclusi quelli in esecuzione e arrestati)
docker ps -aIspezionare i metadati di un container
docker inspect c7337Elencare tutte le immagini disponibili localmente
docker imagesRimuovere 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.backendInterrogare un container in esecuzione con metadati specifici
docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337Descrizione
Nome Immagine
redis, jenkins, nginxNome Container o ID Commit
mydb # nome container
c7337 # ID commit