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 [2025/11/06 09:45] – [Hello World] niccolodoc:appunti:linux:sa:docker [2026/06/10 08:31] (current) – [Gestione delle immagini e dei container] niccolo
Line 58: Line 58:
  
 FIXME Verificare se l'immagine viene da [[https://hub.docker.com]]. FIXME Verificare se l'immagine viene da [[https://hub.docker.com]].
 +
 +===== Backup di una immagine =====
 +
 +Dopo aver fatto il pull può essere desiderabile fare un archivio di tutto il software, per eventuali restore futuri. Si verifica quali immagini sono state scaricate:
 +
 +<code>
 +docker images
 +REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
 +metabase/metabase   latest    9b711a0c3625   10 hours ago   966MB
 +</code>
 +
 +Quindi si esegue il backup in un file tar:
 +
 +<code>
 +docker save -o backup_applicazione_<IMAGE_ID>.tar <IMAGE_ID_o_NOME_IMMAGINE>
 +</code>
 +
 +Conviene includere l'IMAGE_ID perché quello identifica l'immagine stessa piuttosto che il nome. Infatti durante il restore una eventuale immagine con lo stesso ID viene sovrascritta. Il restore del file archivio si fa con:
 +
 +<code>
 +docker load -i backup_applicazione_<IMAGE_ID>.tar
 +</code>
 +
 +Se in Docker abbiamo una immagine con lo stesso nome (ma ID diverso, ad esempio a seguito di un aggiornamento che poi si è corrotto) è possibile cambiarle di nome prima di fare il restore della vecchia immagine:
 +
 +<code>
 +docker tag <ID_IMMAGINE_CORROTTA> nome_applicazione:corrotta
 +</code>
  
 ===== Gestione delle immagini e dei container ===== ===== Gestione delle immagini e dei container =====
Line 68: Line 96:
 docker rm 144443902b95 docker rm 144443902b95
 docker rm agitated_darwin docker rm agitated_darwin
 +
 +# Avvia l'immagine automaticamente al boot:
 +docker update --restart unless-stopped 144443902b95
 </code> </code>
  
Line 87: Line 118:
  
 <file> <file>
-Config file '/data/homeserver.yaml' does not exist. You should +Config file '/data/homeserver.yaml' does not exist. You should either create a new config 
-either create a new config file by running with the `generate` +file by running with the `generate` argument (and then edit the resulting file before 
-argument (and then edit the resulting file before restarting) +restarting) or specify the path to an existing config file with the SYNAPSE_CONFIG_PATH 
-or specify the path to an existing config file with the +variable.
-SYNAPSE_CONFIG_PATH variable.+
 </file> </file>
  
 +Leggendo la [[https://hub.docker.com/r/matrixdotorg/synapse|documentazione]] si scopre che il container va creato con il parametro **generate**. È necessario inoltre definire alcune variabili d'ambiente con l'opzione **%%-e%%**, collegare un mount del filesystem al container con l'opzione **%%--mount%%**. Le opzioni **%%-it%%** servono a tenere lo STDIN collegato allocando uno pseudo-TTY. L'opzione **%%--rm%%** rimuove automaticamente il container al momento dell'uscita.
  
 +<code>
 +docker run -it --rm \
 +    --mount type=volume,src=synapse-data,dst=/data \
 +    -e SYNAPSE_SERVER_NAME=my.matrix.host \
 +    -e SYNAPSE_REPORT_STATS=yes \
 +    matrixdotorg/synapse:latest generate
 +</code>
 ===== Risorse impegnate sull'host locale ===== ===== Risorse impegnate sull'host locale =====
  
doc/appunti/linux/sa/docker.1762422323.txt.gz · Last modified: by niccolo