码迷,mamicode.com
首页 > 其他好文 > 详细

随笔-Docker

时间:2019-09-11 13:28:13      阅读:81      评论:0      收藏:0      [点我收藏+]

标签: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

 

   

随笔-Docker

标签:out   code   cron   root   核心   介绍   command   tabs   etc   

原文地址:https://www.cnblogs.com/jacksonkwong/p/11505513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!