教程
原理很简单,就是写了一段最简单的循环计算 shell 脚本,在 alpine 容器内部执行。只需要控制 docker 的启动和停止即可。
注意:本服务脚本仅占用 CPU 资源,甲骨文政策大概率满足其一即可。
CPU 占用效果
启动此容器后 CPU 占用大致效果图

docker
启动命令
docker run -d --name keeporaclealive --rm alpine sh -c "while true; do for i in {1..100000}; do j=$((i*i)); done; done"停止命令
docker stop keeporaclealive注意:上述启动命令加入了--rm参数,停止容器将自动删除容器,不会残留到系统中。
docker 常驻
启动命令
docker run -d --name keeporaclealive --restart always alpine sh -c "while true; do for i in {1..100000}; do j=$((i*i)); done; done"上述命令将容器常驻,即使服务器重启也会自动启动服务。
停止命令
docker stop keeporaclealive停止服务,容器不会被删除。
再次启动容器。
docker start keeporaclealive停止后彻底删除容器。
docker rm keeporaclealivedocker compose
同时也可以用 docker compose 来管理,这样启动和停止命令会更加方便。
mkdir keeporaclealive
cd keeporaclealive
vi docker-compose.yml创建 keeporaclealive 目录并新建 docker-compose.yml 文件,复制以下配置文件。
docker-compose.yml
version: '3'
services:
keeporaclealive:
image: alpine
command: 'sh -c "while true; do for i in $$(seq 1 100000); do j=$$[i*i]; done; done"'
restart: always启动和停止可以用以下命令控制:
启动
docker-compose up -d停止
docker-compose downcrontab 定时任务,每日 10 点启动,每日 14 点停止。
根据自身情况修改 /root/keeporaclealive 目录地址
crontab -e添加以下两条记录
0 10 * * * cd /root/keeporaclealive && /usr/local/bin/docker-compose up -d
0 14 * * * cd /root/keeporaclealive && /usr/local/bin/docker-compose down
评论区