Chciałbym zawiesić kontener Dockera i wznowić go po chwili. Jak można to zrobić? Zawieszenie oznacza, że powinien on zapisać stan trwającego procesu (np. Kodowania wideo), a następnie wznowić go w dowolnym momencie.Czy mogę zawiesić, a następnie wznowić kontener Docker?
Odpowiedz
Od Version 0.12.0, Docker obsługuje PAUSE
i UNPAUSE
komendy, aby wstrzymać i wznowić pojemników przy użyciu cgroup zamrażarkę.
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ł :)
Możesz użyć 'docker inspect $ container', aby uzyskać długi id. – ZeissS
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
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
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
. 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
@ David Gageot: czy istnieje możliwość sklonowania wstrzymanych kontenerów doków? – noisy
@noisy Nie, żebym wiedział. Najbliższym rozwiązaniem jest użycie CRIU http://criu.org/Docker –