Containers linux : Docker

dockerDocker  consente l’esecuzione di applicazioni con le relative dipendenze in un container virtuale isolato dal sistema operativo.  Di fatto le applicazioni possono coincidere con un sistema operativo quasi completo evitando in questo modo la necessità di una macchina virtuale. Aspetti positivi: minori risorse, maggior velocità  di avvio, evitare i problemi di gestione di una macchina virtuale. Aspetto negativo l’isolamento rnon è totale e le risorse a disposizione del container sono meno garantite. Docker che si esegue in modo nativo su macchine Linux gira anche su OS e Windows.

Per far questo Docker utilizza le funzionalità del kernel e in linux in particolare cgroups, namespace e aufs . I cgroups forniscono l’isolamento delle risorse: CPU, memoria, dispositivi a blocchi di I/O, rete… I namespace consentono l’isolamento di ambiente operativo, albero di processi  files system montati, albero processi, utenti…

Come da grafico Docker può utilizzare diverse interfacce per accedere alle funzionalità di virtualizzazione del Kernel linux. Dalla versione 0.9 utilizza libcontainer in aggiunta a libvirt, LXC e systemd-nspawn. Docker wikipedia.

La versione di Docker corrente è 1.12.2, build bb80604.

$ docker -v  
Docker version 1.12.2, build bb80604

Per visualizzare le informazioni su docker utilizzare il comando info 

$ docker info  
Containers: 11
 Running: 3
 Paused: 2
 Stopped: 6
Images: 6
Server Version: 1.12.2
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 14
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options:
Kernel Version: 3.16.0-4-amd64
Operating System: Debian GNU/Linux 8 (jessie)
OSType: linux
Architecture: x86_64
...
Docker Root Dir: /var/lib/docker
...

 

 

%d blogger cliccano Mi Piace per questo: