运行 Docker 容器的最佳方式是什么? cron,还是其他方式?必须从多个源文件中提取?

运行 Docker 容器的最佳方式是什么? cron,还是其他方式?必须从多个源文件中提取?

我希望运行 docker 容器的多个实例,并让每个容器每 30 分钟重新运行一次。

我在 src 目录中有一个 conf 文件,docker 容器需要从中提取才能运行。例如

用法:

docker run -v ~/example.com/conf:/opt/tool/conf --rm -it sdok

其中 example.com/conf: 是容器需要从中提取 conf 文件才能运行的位置。

我有多个 example.com 目录...其中 3-4 个。

我的 bash 脚本看起来像:

sdok.sh

#!/bin/bash
cd /home
docker run -v ~/example.com/conf:/opt/tool/conf --rm -it sdok
docker run -v ~/example.com1/conf:/opt/tool/conf --rm -it sdok
docker run -v ~/example.com2/conf:/opt/tool/conf --rm -it sdok
docker run -v ~/example.com3/conf:/opt/tool/conf --rm -it sdok
docker run -v ~/example.com4/conf:/opt/tool/conf --rm -it sdok

之后,我只需 cron sdok.sh 脚本并让它每 30 分钟运行一次。有一个更好的方法吗?

*/30 * * * * cd /home/wraiith75/bugbounty/tool/example.com && ./sdok.sh

请让我知道,谢谢!

答案1

  1. 为什么-it-d会更合适
  2. --rm你丢失日志时,一旦出现问题就没有线索。
  3. 使用docker-compose文件而不是脚本可能会更好(您不断重新启动相同的容器,并保留日志)
  4. 如果保留 bash 脚本,则可以将其编写为 example.com* 目录上的循环。

相关内容