让容器自行停止

时间:2018-03-23 13:10:45

标签: bash docker

有没有本地方法让Docker容器自行停止?我在文档中找不到任何内容。

我有一个容器可以做一些事情,我想要完成它。

我想到这样做的一种方法是阻塞docker wait直到容器停止,然后我可以用docker start重新启动它并继续执行依赖于那些工作的后续命令完整。

例如:

docker run -d --name=my-container ...

# Wait for my-container to stop itself
docker wait my-container

# Once it stops itself, start it again.
docker start my-container

# Some other commands here that depend on my-container to finish its jobs...

但我无法在文档上找到任何方法让容器自行停止。

2 个答案:

答案 0 :(得分:3)

docker stop来阻止外面的容器。要从内部停止容器,您可以终止入口点流程(docker run命令中指定的流程,ENTRYPOINT中指定的CMD或最后Dockerfile等)。

答案 1 :(得分:1)

不要以分离模式运行容器(删除-d)它将在前台运行,直到入口点/ cmd退出。

您可能需要使用伪tty(-t)命令行选项。