我们有用到定时启动或停止docker 容器来完成一些事情,比如我们的iptv-hls节目设置为容器启动并常推流,需要用到定时启动或定时关闭推流,那么可以用哪些方法实现呢
我们以以下场景为例说明:
每天00:00停止docker容器 iptv-hls
每天08:00启动docker容器 iptv-hls
方案一:Crontab原生定时任务
配置步骤
编辑定时任务表
crontab -e
0 8 * * * /usr/bin/docker start iptv-hls
0 0 * * * /usr/bin/docker stop iptv-hls
调试技巧
# 查看cron执行日志
grep CRON /var/log/syslog
# 验证容器状态
docker ps -a | grep iptv-hls
⚠️ 常见问题
- 错误:docker命令未找到
+ 解决:使用绝对路径 /usr/bin/docker
- 错误:权限被拒绝
+ 解决:将用户加入docker组
sudo usermod -aG docker $USER
方案二:Shell脚本+高级控制
智能脚本示例
#!/bin/bash
# 文件名:/opt/docker-manager.sh
CONTAINER="iptv-hls"
ACTION=$1
case$ACTIONin
start)
if ! docker ps | grep -q $CONTAINER; then
docker start $CONTAINER
echo"$(date) 容器已启动" >> /var/log/docker.log
fi
;;
stop)
docker stop $CONTAINER && \
echo"$(date) 容器已停止" >> /var/log/docker.log
;;
*)
echo"Usage: $0 {start|stop}"
exit 1
esac
⚙️ 定时任务配置
# 每天8:00启动,00:00停止
0 8 * * * /opt/docker-manager.sh start
0 0 * * * /opt/docker-manager.sh stop
功能亮点
状态检查避免重复操作 操作日志自动记录 支持扩展健康检查
方案三:linux运维面板
这个方案非常适合小白,可视化操作,只需一条命令。
依次进入 计划任务
➥ 创建计划任务
任务名称:自定义,如启动iptv-hls 执行周期:自定义,如每天8时0分钟 脚本内容:docker start iptv-hls
最后点击确认
即可
同样方法新建停止容器任务,其他一样,脚本内容为:
docker stop iptv-hls
可以在日志中查看运行情况:
依次进入 计划任务
➥ 创建计划任务
任务名称:自定义,如启动iptv-hls 执行周期:自定义,如每天8时0分钟 脚本内容:docker start iptv-hls
最后点击确认
即可
同样方法新建停止容器任务,其他一样,脚本内容为:
docker stop iptv-hls
通过以上方法均可以实现定时启动或者停止docker容器,推荐第三方案,操作简单。
立即动手配置,让你的Docker容器拥有"生物钟"吧!

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!
优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、DIY体验、720全景展厅及3D虚拟仿真)、移动端应用(手机站、APP开发)、微信定制开发(微信官网、微信商城、企业微信)、微信小程序定制开发等一系列互联网应用服务。