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/10/30 12:05] – [Hello World] niccolodoc:appunti:linux:sa:docker [2025/11/06 10:56] (current) – [Esempio di esecuzione di un container] niccolo
Line 29: Line 29:
 Il numero di **container** si incrementa ad ogni esecuzione di **docker run**, anche se si esegue la stessa immagine. Il numero delle **immagini** invece si incrementa solo quando si esegue il run (oppure il **pull**, vedi avanti) di una nuova immagine. Il numero di **container** si incrementa ad ogni esecuzione di **docker run**, anche se si esegue la stessa immagine. Il numero delle **immagini** invece si incrementa solo quando si esegue il run (oppure il **pull**, vedi avanti) di una nuova immagine.
  
-Per cercare una implementazione del server [[https://github.com/element-hq/synapse|+Supponiamo di voler cercare nel ropository una implementazione del server [[https://github.com/element-hq/synapse|
 Element Synapse - Matrix]]: Element Synapse - Matrix]]:
  
Line 36: Line 36:
 </code> </code>
  
-Avendo individuato l'immagine che interessa (**matrixdotorg/synapse**), è possibile scaricarla in locale:+Avendo individuato l'immagine che interessa (**matrixdotorg/synapse**), è possibile scaricarla in locale con **docker pull**:
  
 <code> <code>
Line 57: Line 57:
 </code> </code>
  
 +FIXME Verificare se l'immagine viene da [[https://hub.docker.com]].
 +
 +===== Gestione delle immagini e dei container =====
 +
 +<code>
 +docker images
 +docker ps -a
 +docker start b629dea65cc0
 +docker stop angry_archimedes
 +docker rm 144443902b95
 +docker rm agitated_darwin
 +</code>
 +
 +Ogni container viene identificato da un ID numerico oppure da un codice mnemonico formato da due parole casuali.
 +
 +===== Esempio di esecuzione di un container =====
 +
 +Proviamo ad eseguire un'istanza di [[https://hub.docker.com/r/matrixdotorg/synapse|Matrix Synapse]], si tratta di un servizio abbastanza complesso che richiede le seguenti risorse:
 +
 +  * Un **file di configurazione**.
 +  * Un **database** di backend, SQLite oppure PostgreSQL.
 +  * Una **porta TCP** su cui porsi in ascolto.
 +
 +<code>
 +docker run matrixdotorg/synapse
 +</code>
 +
 +Viene visualizzato il messaggio:
 +
 +<file>
 +Config file '/data/homeserver.yaml' does not exist. You should either create a new config
 +file by running with the `generate` argument (and then edit the resulting file before
 +restarting) or specify the path to an existing config file with the SYNAPSE_CONFIG_PATH
 +variable.
 +</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 =====
 +
 +^ /var/lib/docker/containers/  | Viene crata una sottodirectory per ogni container creato.  |
 +
 +FIXME
 +
 +===== Trovare le immagini ufficiali di un progetto =====
 +
 +FIXME
 +
 +===== Aggiornamento di un container =====
 +
 +FIXME
 +
 +===== 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]]**
doc/appunti/linux/sa/docker.1761822321.txt.gz · Last modified: by niccolo