标签:out code cron root 核心 介绍 command tabs etc
本文背景:
数据挖掘过程中,需要定时爬取资料。
本文目的:
建立一个Docker的容器,并运行python脚本。
1.1 Docker介绍:
Docker 是一个开源的应用容器引擎(引擎:主程序)
1.2 容器介绍:
容器(container),一种内核轻量级的操作系统层虚拟化技术。类似虚拟机。
1.3 容器和虚拟机区别:
虚拟机:构建虚拟物理环境->构建完整操作系统->运行应用
容器: 直接利用宿主机内核->运行应用
注意:Hypervisor(VM核心)和Docker Engine(Docker核心)
2.1 容器建立流程:
(1)下载/创建镜像->(2)创建容器->(3)运行容器
#查看镜像 docker images #下载python镜像,从dockerhub,创建镜像:略 docker pull python3:latest #容器创建 docker run -v <host_path>:<container_path> --name="py-test" -d python3:latest #运行容器 docker exec -it py-test /bin/bash #详细可参考 https://www.runoob.com/docker/docker-command-manual.html
3.1 关于容器定时工作建议:
(1)把通过scp/mount把python脚本程序及所需配置文件传到宿主机的host_path下
(2)然后把容器连接存储卷(指向宿主机的host_path)
(3)通过执行shell脚本安装相对应的python包,并且设置定时工作
详细代码如下:
docker run -v /home/test:/var/share --name="py-test" -d python3:latest #-v 建立关系,宿主机程序路径/home/test/指向到容器内的相对路径/var/share,--name指容器名字是py-test, -d为后台运行, 版本为python3:latest docker exec -it py-test cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#使得容器时间同步到Shanghai时间 docker exec -it py-test cp /var/share/test/root /var/spool/cron/crontabs/root
#/var/share/test/路径下的root文件是按照crontab指令规范而写的文本文件,使它覆盖/var/spool/cron/crontabs/路径下的root,设置定时工作指令 docker exec -it py-test pip install --upgrade pip
#容器下的pip进行upgrade docker exec -it py-test pip install -r /var/share/test/requirements.txt
#容器下安装requirements.txt文件的 docker exec -it py-test service cron start
#启动cron service
标签:out code cron root 核心 介绍 command tabs etc
原文地址:https://www.cnblogs.com/jacksonkwong/p/11505513.html