docker创建centos容器使用crond

记一次docker创建centos容器跑python任务案例

1.需求描述:

用docker起一个centos容器,在容器中安装python3,并定时执行脚本,将日志输出到某文件。将容器打成镜像导出,客户需将镜像导入。

2.任务分解:

①docker中使用crond

②python执行脚本并输出日志

③将容器打成镜像

3.具体操作:

①启动一个带有python的centos镜像为基础容器

docker run -it centos7:v8 /bin/bash

②将脚本拷入容器

docker cp test.tar musing_shirley:/root

test.tar 文件    musing_shirley 容器名称  :/root 目标目录

③进入容器

docker exec -it  6102977fb486 /bin/bash

6102977fb486 容器id

④编写执行任务脚本

#!/bin/bash
echo `date +"%Y-%m-%d %H:%M:%S"` begin >> /root/a.log

nohup python3 /root/green-cloud/industry_calculator_month.py >> /root/a.log 2>&1 &

echo `date +"%Y-%m-%d %H:%M:%S"` end >> /root/a.log

⑤创建crond任务

crontab命令:

如果希望添加、删除或编辑crontab文件中的条目,而E D I TO R环境变量又设置为v i,那么就可以用v i来编辑crontab文件,相应的命令为:

crontab -e

*/2 * * * * /bin/sh /root/test.sh

列出crontab文件

crontab -l

[root@6102977fb486 ~]# crontab -l
*/2 * * * * /bin/sh /root/test.sh

要删除crontab文件,可以用:

crontab -r

⑥启动任务

/usr/sbin/crond -s

查看

ps -ef | grep crond
root     13441     0  0 08:46 ?        00:00:00 /usr/sbin/crond -s
root     13443 10225  0 08:46 pts/6    00:00:00 grep --color=auto crond

⑦将此时容器状态打成镜像

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

  • -a :提交的镜像作者;
  • -c :使用Dockerfile指令来创建镜像;
  • -m :提交时的说明文字;
  • -p :在commit时,将容器暂停。
docker commit -m "yhht" -a "for green-cloud" 6102977fb486 green-cloud

⑧导入导出镜像

导出:

如果要存出镜像到本地文件,可以使用docker save命令。例如,存出本地的ubuntu:14.04镜像为文件ubuntu_14.04.tar:
$ sudo docker save -o /home/user/images/ubuntu_14.04.tar ubuntu:14.04

导入:

可以使用docker load从存出的本地文件中再导入到本地镜像库,例如从文件ubuntu_14.04.tar导入镜像到本地镜像列表,如下所示:
$ docker load --input ubuntu_14.04.tar

$ docker load -i ubuntu_14.04.tar

或者
$ docker load < ubuntu_14.04.tar

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值