2013-04-16 15 views

risposta

41

A partire dal Version 0.12.0, Docker supporta PAUSE e UNPAUSE comandi per mettere in pausa e riprendere i contenitori usando cgroup congelatore.

+2

Quando blocchi un contenitore, vuol dire che non può più accettare alcuna richiesta? Cosa succede quando si invia una richiesta? È in coda? Dropped? – CMCDragonkai

+1

@David Gageot: esiste la possibilità di clonare i contenitori di finestre mobili in pausa? – noisy

+1

@noisy Non che io sappia. La soluzione più vicina è usare CRIU http://criu.org/Docker –

7

AFAIK al momento non può essere eseguito con docker puro ma lxc lo supporta. Ho giocare po 'con finestra mobile e ha confermato che questo può essere fatto con lxc-freeze -n <containtr.id> e per riprendere le operazioni lxc-unfreeze -n <container.id> Ma in v0.2.0 finestra mobile ps vi dà solo accorciare containter id anche con uscita -notrunc e LXC-LS è vuoto sul mio sistema (strano, ho bisogno di saperne di più, dato che la finestra mobile usa semplicemente lxc-start con params quindi lxc-ps dovrebbe stamparlo). Ho trovato l'ID contenitore completo con lxc-ps. Sarebbe bello aggiungere il comando freeze docker. Forse è il momento per me di imparare un po ':)

+1

È possibile utilizzare 'finestra mobile ispeziona $ container' per ottenere l'ID lungo. – ZeissS

+1

Ho aggiunto l'ID contenitore completo quando si utilizza -notrunc e la modifica è già presente nel ramo principale git docker. Ma grazie per il suggerimento. – odk

+0

Ho trovato, che dalla versione 0.9, LXC non è più il driver predefinito per la finestra mobile (https://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/) . Tuttavia esiste la possibilità di usare lxc. Per fare ciò, devi uccidere il daemon docker ed eseguirlo di nuovo con un commutatore 'docker -d -e lxc' – noisy

1

Docker ha appena rilasciato un (ancora) volume non documentato e set di funzionalità di archiviazione dei dati. tl; dr se si utilizza l'opzione della riga di comando -v è possibile specificare un percorso per mappare all'esterno del contenitore su un percorso speciale finestra mobile (/var/lib/docker/volumes/{FULL_ID}) dove FULL_ID può essere trovato da docker inspect container_id. Un esempio è docker run -d -v /data danielvf/myapp:1.0 runapp che esternalizza la directory /data in un volume di finestra mobile.

https://github.com/dotcloud/docker/issues/111

tabella di marcia per questa funzione: (ancora non documentano la sua esistenza): https://github.com/dotcloud/docker/wiki/Volumes-&-persistent-data-storage

Problemi correlati