On 28/08/17 08:32, Andrea Zagli wrote:
Il giorno lun 28 ago 2017 07:39:22 CEST, Federico Di Gregorio ha scritto:
On 25/08/17 18:54, maxlinux duemila wrote:
a radice dell'altro tread, mi stavo chiedendo se qualcuno ha provato
in debian, dock o altri sistemi simili, per avere spazi di emulazione
del SO, ma senza emulare anche l'hardware.
A quanto ho capito, dock o simili, creano una specie di chroot in cui
riscono a fare correre un qualsiasi sistema operativo basato in
linux,gli assegnano una percentale di cpu, uno spazio di ram e disco,
ma l'hardware non viene emulato, per cui l'emulazione corre alla
stessa velocità del sistema principale host.
Tra l'altro usando varie macchine con lo stesso sistema operativo,
queste compartono tutti i files dei binari (deve essere qualche cosa
tipo hard-links) e la macchina viene creata con un semplice script, in
modo da poterla creare a distruggere a seconda delle esigenze
qualcuno ha esperienze a riguardo?
Io uso felicemente docker ma attenzione che è differente da
KVM/Virtual Box non solo perché usa i container invece di
virtualizzare l'hardware ma anche perché parte da una filosofia un po'
differente. In teoria dentro ad ogni docker gira 1 singolo applicativo
e non un'intera macchina e quando il processo esce, il container viene
"fermato". Inoltre file creati non sono persistenti qualora un
container venga riavviato. Sono cose che inizialmente spiazzano, ma
una volta presa l'abitudine funziona tutto MOLTO bene.
io uso lxc, da cui deriva docker
e nei container girano quante applicazioni si vogliono
e i file sono persistenti
e il mio docker è più grosso del tuo. :)
Sono cose differenti. Entrambi si basano sui namespace del kernel per
costruire un albero di processi separato dal resto della macchina ma
seguono strade differenti.
Lxc è molto simile ad una chroot evoluta ed di solito utilizza un
processo di init (che in Debian è systemd) per far partire un ambiente
completo, nel quale far girare processi multipli. La directory che
contiene il sistema è sul file system ed è, ovviamente, persistente.
docker è basato sul concetto di immagine (image) e container. Si possono
avere un qualsiasi numero di container derivati dalla stessa immagine.
L'immagine è read-only ed i container sono un overlay sopra
all'immagine. L'overlay può essere su disco, su RAM, un volume BRTFS,
etc. Nel caso di overlay persistente, i file creati all'interno del
container sono persistenti ma vanno persi se il container viene rimosso
e ricreato mentre l'immagine da cui viene creato non viene MAI
modificata. Ovviamente è possibile montare all'interno del container dei
volumi esterni per rendere persistenti i dati nel caso, per esempio, di
un upgrade del container (che consiste nel distruggere il vecchio
container e crearne uno nuovo da un'immagine aggiornata.)
federico
--
Federico Di Gregorio federico.digrego...@dndg.it
DNDG srl http://dndg.it
monja: che c'entra, l'importante è sapersi usare -- <dani>