2013-04-16 15 views

Odpowiedz

41

Od Version 0.12.0, Docker obsługuje PAUSE i UNPAUSE komendy, aby wstrzymać i wznowić pojemników przy użyciu cgroup zamrażarkę.

+2

. Czy po zablokowaniu kontenera nie można już akceptować żadnych żądań? Co się stanie, gdy wyślesz do niego prośbę? Czy jest w kolejce? Porzucone? – CMCDragonkai

+1

@ David Gageot: czy istnieje możliwość sklonowania wstrzymanych kontenerów doków? – noisy

+1

@noisy Nie, żebym wiedział. Najbliższym rozwiązaniem jest użycie CRIU http://criu.org/Docker –

7

AFAIK w tej chwili nie można tego zrobić z czystym dokiem, ale obsługuje to lxc. Mam poeksperymentować trochę z docker i potwierdziła, że ​​można zrobić z lxc-freeze -n <containtr.id> i wznowienie działalności lxc-unfreeze -n <container.id> Ale v0.2.0 doker ps daje tylko skrócić containter id nawet z wyjściem -notrunc i lxc-LS pusty w moim systemie (dziwne, musisz przeczytać więcej na ten temat, ponieważ docker używa zwykłego lxc-start z parametrami, więc lxc-ps powinien to wydrukować). Znalazłem pełny identyfikator kontenera z lxc-ps. Byłoby miło dodać polecenie zamrożenia dockera. Może nadszedł czas, abym się trochę nauczył :)

+1

Możesz użyć 'docker inspect $ container', aby uzyskać długi id. – ZeissS

+1

Dodałem pełny identyfikator kontenera, gdy -notrunc jest używany i zmiana jest już w gałęzi master gitarze docker. Ale dzięki za napiwek. – odk

+0

Znalazłem, że od wersji 0.9, LXC nie jest już domyślnym sterownikiem dla docker (https://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/) . Istnieje jednak możliwość użycia lxc. Aby to zrobić, musisz zabić demona docker i ponownie uruchomić go za pomocą przełącznika 'docker -d -e lxc' – noisy

1

Docker właśnie wydał (niestety) nieudokumentowane woluminy i zestaw funkcji przechowywania danych. tl; dr, jeśli używasz opcji wiersza poleceń -v, możesz określić ścieżkę do mapowania poza kontenerem do specjalnej ścieżki dokowania (/var/lib/docker/volumes/{FULL_ID}), gdzie FULL_ID można znaleźć przez docker inspect container_id. Przykładem jest docker run -d -v /data danielvf/myapp:1.0 runapp, który przekazuje katalog /data do woluminu dokowanego.

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

Plan dla tej funkcji: (jeszcze nie dokumentują to istnienie): https://github.com/dotcloud/docker/wiki/Volumes-&-persistent-data-storage

Powiązane problemy