如何重新启动所有Docker容器并在每次重新启动之间有一个暂停?

布莱克

我想sleep在这两个restart服务器之间的这根衬垫之间稍作停顿(也许是某种方式?),因为该服务器上有很多容器,并且减慢重新启动的速度将减少负载高峰。如果可能的话,我希望将其保留为一个衬里,并避免将其放入bash shell脚本文件中。我知道如何sleep在bash脚本中将for放入for循环中,但是我不知道如何将其放入其中。这个$()部分叫什么?

docker restart $(docker ps --format "{{.Names}}" | grep -v somename)

因此,我只想列出一个正在运行的容器,并在每次重新启动之间有30秒的暂停时间来重新启动每个容器。

金马祖维奇

的意思$()这里是:

语法是令牌级别的,因此美元符号的含义取决于其所在的令牌。表达式$(command)是现代的同义词command,代表命令替换;这意味着,运行命令并将其输出放在此处。

您需要执行所有重新启动然后暂停的操作是在$(docker ps --format "{{.Names}}" | grep -v somename)"命令中的各行上循环,docker restart $line然后在该循环内执行一个命令,然后执行一个sleep 30命令(持续30秒)。

像这样:

items=$(docker ps --format "{{.Names}}" | grep -v somename)
for word in items
do
    docker restart $word
    sleep 30
done

说明:

items=$(docker ps --format "{{.Names}}" | grep -v somename)

这行代码设置了一个名为string的变量items,它包含所有用空格分隔的容器的名称,就像在原始命令中所做的那样。

for word in items

自动用空格分隔字符串,在for循环的每次迭代中为您提供不同的容器名称

之间

do

done

我们有用items字符串中每个单词执行的代码,如下所示

    docker restart $world

我们像您一样重新启动docker容器,但仅对其中一个容器,其名称从读取$word

    sleep 30

我们睡眠30秒,然后再次迭代下一个$word值。


单行版

如果您希望可以单行运行的压缩版本,可以执行以下操作:

items=$(docker ps --format "{{.Names}}" | grep -v somename);for word in items; do;  docker restart $word; sleep 30; done;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

暂停并重新启动所有Python进程

如何暂停Docker容器然后重新启动主机系统并取消暂停容器?

从另一个正在运行的容器重新启动Docker容器

如何重新启动特定接口而不是重新启动所有接口?

COS:如何重新启动具有新映像的容器?

docker-compose,如何检查容器是否正在运行最后一个映像?然后重新启动

每次重新启动时,如何使Docker容器每次运行脚本?

如何使用utlizie stringbuilder添加其他所有字符并在空格处重新启动?

kubectl-如何重新启动部署(或所有部署)

如何重新启动我需要一个会话?

更新后容器始终在docker-compose.yml中没有重新启动并重新启动

如何以restart =“ always”模式重新启动现有的Docker容器?

重新启动现有 docker 容器时如何指向初始运行时

每次在本地重新启动 elasticsearch 进程时,我都必须重新索引所有文档

如何在更改容器后获取正确的数据并在 docker 中重新启动容器

有没有办法重新启动一个scrapy爬虫?

暂停/重新启动序列

无法停止或重新启动Docker容器

Docker - Mysql 容器正在重新启动

Docker:容器继续重新启动

如何协调两个相互依赖的Docker容器的启动和重新启动?

如果您有一个带有多个容器的 pod,其中一个触发了 OOMKilller,它是否会重新启动整个 pod?

重新启动所有服务而无需重新启动

是否可以有一个目标重新启动许多systemd服务?

定时器在第一个间隔后没有重新启动

如何重新启动Docker容器/映像/机器?

如何重新启动已停止的Docker容器

如何使用docker-compose重新启动单个容器

Docker:如何重新启动容器内部的进程?