User Tools

Site Tools


doc:appunti:linux:sa:docker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:docker [2026/07/22 17:56] – [Aggiornamento di una immagine e nuovo container] niccolodoc:appunti:linux:sa:docker [2026/07/29 12:40] (current) – [Comandi utili] niccolo
Line 147: Line 147:
 FIXME FIXME
  
-===== Aggiornamento di una immagine e nuovo container =====+===== Aggiornamento di una immagine ===== 
 + 
 +Le immagini sono le basi (copie statiche) da cui si creano i container (processi in esecuzione).
  
 Si verifica quale immagine è stata scaricata in precedenza: Si verifica quale immagine è stata scaricata in precedenza:
Line 178: Line 180:
 </code> </code>
  
-FIXME+<code> 
 +docker images 
 +REPOSITORY          TAG        IMAGE ID       CREATED       SIZE 
 +metabase/metabase   latest     d2986236b1e1   17 hours ago  1.03GB 
 +metabase/metabase   0.62.1.2   9b711a0c3625   6 weeks ago   966MB 
 +</code> 
 + 
 +===== Creazione di un nuovo container ===== 
 + 
 +È possibile creare un nuovo container da una stessa immagine, ma si deve provvedere a: 
 + 
 +  * Mappare eventuali porte TCP/IP su porte diverse 
 +  * Assegnare un nome diverso 
 +  * Eventualmente mappare volumi diversi 
 + 
 +In questo esempio l'immagine metabase non usa volumi, quindi è sufficiente specificare un mapping opportuno della porta 3000 e assegnare un nome diverso al container: 
 + 
 +<code> 
 +docker run -d -p 3001:3000 \ 
 +  --name metabase_63 \ 
 +  metabase/metabase:latest 
 +</code> 
 + 
 +Anche questo container può essere modificato per l'auto-restart (a meno che non sia stato fermato manualmente): 
 + 
 +<code> 
 +docker update --restart unless-stopped metabase_63 
 +</code> 
 + 
 + 
 +===== Comandi utili ===== 
 + 
 +Vede i container esistenti, anche quelli fermi: 
 + 
 +<code> 
 +docker ps -a 
 +</code> 
 + 
 +Rinomina un container: 
 + 
 +<code> 
 +docker rename metabase metabase-old 
 +</code> 
 + 
 +Vede i volumi creati: 
 + 
 +<code> 
 +docker volume ls 
 +DRIVER    VOLUME NAME 
 +</code> 
 + 
 +Vede le reti Docker create per collegare container: 
 + 
 +<code> 
 +docker network ls 
 +NETWORK ID     NAME      DRIVER    SCOPE 
 +6dec08ea444c   bridge    bridge    local 
 +23c599ebc5b7   host      host      local 
 +3d834c952653   none      null      local 
 +</code> 
 + 
 +Verifica quali //mounts// usa un container: 
 + 
 +<code> 
 +docker inspect metabase --format '{{.Mounts}}' 
 +[] 
 +</code> 
 + 
 +Nell'esempio sopra il container non monta niente dalla macchina ospite, quindi è possibile creare una nuova istanza senza il rischio di conflitti. Nei //mounts// si potrebbero eventualmente trovare volumi veri e propri oppure punti di montaggio di tipo //bind//: 
 + 
 +<code> 
 + { 
 +    "Type": "volume", 
 +    "Name": "metabase-data", 
 +    "Source": "/var/lib/docker/volumes/metabase-data/_data", 
 +    "Destination": "/metabase-data1" 
 +  } 
 +</code> 
 + 
 +<code> 
 +  { 
 +    "Type": "bind", 
 +    "Source": "/srv/metabase", 
 +    "Destination": "/metabase-data2" 
 +  } 
 +</code> 
 + 
 +In tal caso va verificato che i due container in esecuzione contemporaneamente non creino problemi a scrivere sugli stessi volumi. 
 + 
 +Esegue un comando shell in un container, ad esempio il comando ''ls -l /metabase.db/'' nel container metabase: 
 + 
 +<code> 
 +docker exec metabase ls -l /metabase.db/ 
 +</code> 
 + 
 +Copia una directory intera dal container al filesystem della macchina ospitante: 
 + 
 +<code> 
 +docker cp metabase:/metabase.db/ ./metabase-backup.db 
 +</code> 
 + 
 +Copia due file dal filesystem locale veso il container: 
 + 
 +<code> 
 +docker cp ./metabase-backup.db/metabase.db.mv.db    metabase:/metabase.db/ 
 +docker cp ./metabase-backup.db/metabase.db.trace.db metabase:/metabase.db/ 
 +</code> 
 + 
 +Esegue una shell interattiva nel container: 
 + 
 +<code> 
 +docker exec -it metabase sh 
 +</code>
  
 ===== Risorse web ===== ===== Risorse web =====
  
   * **[[https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-debian-10|How To Install and Use Docker on Debian 10]]**   * **[[https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-debian-10|How To Install and Use Docker on Debian 10]]**
doc/appunti/linux/sa/docker.1784735812.txt.gz · Last modified: by niccolo