2016-09-23 13 views
13

ja uruchomić pojemnik Döcker z obrazu za pomocą następującego polecenia:Jak wznowić zatrzymane pojemnik Döcker

$ docker run -d myimage /bin/bash -c "mycommand" 

Kiedy "mycommand" jest zakończona, pojemnik jest zatrzymany (przypuszczam, że jest zatrzymany), ale nie jest usunięte, ponieważ widzę go z tym poleceniem:

$ docker ps -a 

Czy istnieje jakiś sposób, aby restart ten pojemnik z tymi samymi parametrami i przechowywać dane wygenerowane przez mycommand?

+0

Czy "głośność" lub "montaż katalogu hosta" są dla Ciebie satysfakcjonujące? Tak jak wspomniany dokument: https://docs.docker.com/engine/tutorials/dockervolumes/ –

Odpowiedz

14

Tak, gdy początkowe polecenie zakończy jego wykonywanie, kontener przestaje działać.

można uruchomić zatrzymany kontenera przy użyciu:

docker start container_name

Jeśli chcesz zobaczyć dane wyjściowe polecenia następnie należy dodać -ai opcje:

docker start -ai container_name

PS. istnieje docker restart container_name, ale służy to do ponownego uruchomienia uruchomionego kontenera - uważam, że to nie twoja sprawa.

1

Po pierwsze, $ docker ps -a pokazuje wszystkie kontenery (te, które są uruchomione i zatrzymane), dlatego jest to spowodowane tym, że widzisz swój zatrzymany kontener.

Po drugie, można łatwo uruchomić zatrzymany pojemnik przez:

$ docker start container_name 

Gdy pojemnik został uruchomiony, można uruchomić komendę:

$ docker exec -it container_name bash -c "mycommand" 

rzeczy tworzonych w pojemniku pozostanie w twoim kontenerze tak długo, jak istnieje. Jeśli chcesz zachować dane nawet po usunięciu kontenera, możesz użyć numeru volume.