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