我们有用到定时启动或停止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容器拥有"生物钟"吧!

優(yōu)網(wǎng)科技秉承"專業(yè)團隊、品質(zhì)服務(wù)" 的經(jīng)營理念,誠信務(wù)實的服務(wù)了近萬家客戶,成為眾多世界500強、集團和上市公司的長期合作伙伴!
優(yōu)網(wǎng)科技成立于2001年,擅長網(wǎng)站建設(shè)、網(wǎng)站與各類業(yè)務(wù)系統(tǒng)深度整合,致力于提供完善的企業(yè)互聯(lián)網(wǎng)解決方案。優(yōu)網(wǎng)科技提供PC端網(wǎng)站建設(shè)(品牌展示型、官方門戶型、營銷商務(wù)型、電子商務(wù)型、信息門戶型、微信小程序定制開發(fā)、移動端應(yīng)用(手機站、APP開發(fā))、微信定制開發(fā)(微信官網(wǎng)、微信商城、企業(yè)微信)等一系列互聯(lián)網(wǎng)應(yīng)用服務(wù)。