Docker, comandi utili

Docker è un sistema di containerizzazione di applicativi e sistemi operativi. Il contenuto di questo articolo è una mera lista di comandi utili che spesso vengono utilizzati per l’interazione. Per approfondimenti sul progetto Docker, le funzionalità e le potenzialità, sono riportati dei link in calce all’articolo.

  1. docker ps visualizza la lista dei container attivi. Aggiungendo l’argomento -a visualizza tutti i container attivi e non
  2. docker stop {CONTAINER} ferma container
  3. docker rm {CONTAINER} elimina container (NB deve essere precedentemente fermato)
  4. docker logs {CONTAINER} log del container (NB bastano i prime 3/4 caratteri alfanumerici dell’id container)
  5. docker logs --follow {CONTAINER} simile al tail dei log
  6. docker images lista immagini sul sistema
  7. docker volume ls lista dei volumi registrati sull’host
  8. docker exec -it {CONTAINER} {COMMAND} esegue comando os (bash/sh) dentro il container
  9. docker attach {CONTAINER} entri nel terminal del container (per uscire CTRL + P CTRL + Q altrimenti fermi il container)
  10. docker rmi {IMAGE} elimina la docker image (NB non devono essere connessi container attivi)
  11. docker start {CONTAINER} avvia il container creato in precedenza
  12. docker inspect {CONTAINER} restituisce tutti i parametri di sistema del container
  13. docker build -t {IMAGE} . crea immagine con il nome IMAGE (. sta a significare che siamo all’interno del repo dal quale creare l’immagine)

Qualche trucchetto utile

  • docker volume prune rimuove tutti i volumi non più usati dai container che sono stati rimossi
  • docker volume rm $(docker volume ls -q) rimuove tutti i volumi, anche quelli in uso, quindi OCCHIO! (NB nei volumi sono contenute tutti i dati usati dai container, rimuovendoli i dati andranno perduti. Fare attenzione se si utilizzano per base dati)
  • docker rm -v $(docker ps -q) rimuove tutti i container attivi e i volumi a loro associati
  • docker rm -f $(docker ps -a -q) rimuove tutti i container, anche quelli in esecuzione
  • docker rm -f -v $(docker ps -a -q) rimuove tutti i container attivi e non e i volumi a loro associati
  • docker rmi $(docker images -q) rimuove tutte le immagini In caso di conflitto o errori l’operazione viene interrotta
  • docker rmi -f $(docker images -q) rimuove tutte le immagini anche quelle associate a container attivi
  • docker exec -it {CONTAINER} bash si entra nel container con il terminale (bash) a riga di comando
  • Per puntare tramite ID un container o un immagine non c’è bisogno di scrivere tutto l’identificativo alfanumerico, basta scrivere solo i primi caratteri (2 o 3 di solito sono sufficienti)

Riferimenti

Lista ufficiale comandi docker
https://docs.docker.com/engine/reference/commandline/docker/

Martin Fowler – Microservices
https://www.martinfowler.com/articles/microservices.html