docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker的定时关闭和启动

设置docker的定时关闭和启动方式

作者:AlenTech

文章介绍了在Docker中设置容器定时关闭和启动的两种方法:使用系统级定时任务(如cron)和使用Docker特定的解决方案,通过配置CronJob、DockerCompose或DockerSwarm,可以实现容器的定时启动和关闭

设置docker的定时关闭和启动

在Docker中设置容器的定时关闭和启动可以通过多种方法实现。

以下是两种常见的方法:使用系统级定时任务(如cron)和使用Docker特定的解决方案。

使用Cron

1.创建Cron Job:

添加以下行来定义启动和停止的时间。例如,每天凌晨2点停止容器,早上7点启动容器:

0 2 * * * docker stop my_container_name
0 7 * * * docker start my_container_name

2.确保Docker服务运行:

使用Docker Compose

如果你使用Docker Compose管理多个容器,可以结合使用Docker Compose和Cron来定时启动或关闭整个服务组。

1.创建或编辑docker-compose.yml:

2.创建Cron Job:

假设你的docker-compose.yml文件位于/path/to/docker-compose.yml,你可以这样设置:

0 2 * * * docker-compose -f /path/to/docker-compose.yml down
0 7 * * * docker-compose -f /path/to/docker-compose.yml up -d

使用Docker Swarm

对于更复杂的环境,如使用Docker Swarm,你可以通过更新服务的副本数来实现类似的定时启动和关闭效果。

更新服务副本数:

你可以创建一个脚本,该脚本根据时间调整服务的副本数。

例如,一个简单的bash脚本可能如下所示:

#!/bin/bash
if [ "$1" = "up" ]; then
  docker service scale my_service=3
elif [ "$1" = "down" ]; then
  docker service scale my_service=0
fi

然后,你可以通过Cron来调用这个脚本:

0 2 * * * /path/to/myscript.sh down
0 7 * * * /path/to/myscript.sh up

注意事项

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文