如何解决优雅地停止多个容器,docker stop `--time` 选项是针对每个容器还是针对所有容器? 是每个容器的 --time=60 还是所有容器都只有 60 秒?
我正在尝试优雅地停止所有容器。所以我想给每个容器 60 秒。我知道你可以这样做:
docker stop --time=60 $(docker container ls -q)
是每个容器的 --time=60
还是所有容器都只有 60 秒?
- 例如:如果一个容器需要 59 秒才能停止……这是否意味着下一个容器只有 1 秒才能停止?
- 如果所有容器都得到 60 秒...那么我将执行 bash for 循环并对每个容器执行 docker stop...以确保它们每个都得到 60 秒。
解决方法
为每个容器考虑参数 --time=60
。
Docker 客户端在幕后执行 HTTP 请求。当您像这样传递多个参数时:
docker stop --time=60 $(docker container ls -q)
Docker 客户端将发送与您的 shubshell docker container ls -q
返回的值一样多的请求,每个请求都有自己的 --time
。
既然我们知道 docker 会向“docker api”发出请求,我们可以查看 API Docs 并注意到没有端点可以停止或杀死大量容器,每次调用只有一个。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。