====== Ambienti isolati (container) con Docker ======
apt install docker.io
Al termine dell'installazione troviamo il demone **/usr/sbin/dockerd** in esecuzione. È possibile controllarlo con il servizio systemd **docker.service** e tramite il socket (sempre gestito da systemd) **docker.socket**.
Il demone gira con pieni permessi root, per comandare il demone si usa il socket di comunicazione **/run/docker.sock**, che nella installazione Debian appartiene al gruppo **docker**. Quindi un utente non privilegiato può comandare Docker semplicemente entrando a far parte del gruppo.
===== Hello World =====
Per provare il funzionamento nel repository ufficiale esiste l'//immagine// denominata **hello-world**; la si installa ed esegue da **utente root**:
docker run hello-world
Se l'immagine non esiste sull'host locale, questa viene cercata sul repository predefinito ed eventualmente scaricata.
Per vedere lo stato del demone:
docker info
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.
Supponiamo di voler cercare nel ropository una implementazione del server [[https://github.com/element-hq/synapse|
Element Synapse - Matrix]]:
docker search synapse
Avendo individuato l'immagine che interessa (**matrixdotorg/synapse**), è possibile scaricarla in locale con **docker pull**:
docker pull matrixdotorg/synapse
Using default tag: latest
latest: Pulling from matrixdotorg/synapse
38513bd72563: Pull complete
89fe90952b6b: Pull complete
0ee66acd8266: Pull complete
303fe1bfb649: Pull complete
2e812a1f3647: Pull complete
5fde11fa162a: Pull complete
6a4278efc748: Pull complete
d454d1179d11: Pull complete
8c8104b4f93d: Pull complete
e3b5dc22794f: Pull complete
Digest: sha256:0887ad7a662f08908ab03c2dc46c66ef2c796eff65fd39dbb0ec4f39f852a826
Status: Downloaded newer image for matrixdotorg/synapse:latest
docker.io/matrixdotorg/synapse:latest
===== Gestione delle immagini e dei container =====
docker images
docker ps -a
docker start b629dea65cc0
docker stop angry_archimedes
docker rm agitated_darwin
===== Risorse impegnate sull'host locale =====
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]]**