====== 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]]**