有没有本地方法让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...
但我无法在文档上找到任何方法让容器自行停止。
答案 0 :(得分:3)
有docker stop
来阻止外面的容器。要从内部停止容器,您可以终止入口点流程(docker run
命令中指定的流程,ENTRYPOINT
中指定的CMD
或最后Dockerfile
等)。
答案 1 :(得分:1)
不要以分离模式运行容器(删除-d)它将在前台运行,直到入口点/ cmd退出。
您可能需要使用伪tty(-t)命令行选项。