zoukankan      html  css  js  c++  java
  • Docker部署Python爬虫项目


    title: Docker部署Python爬虫项目


    Docker部署Python爬虫项目

    1) 首先安装docker:

    # 用 yum 安装并启动
    yum install docker -y && systemctl start docker
    

    2) 下载自定义镜像需要用到的基础镜像:

    # 这里以centos7为例
    docker pull centos:centos7
    

    3) 基础镜像已经准备好了,接下来准备好需要部署的环境服务,以及python项目:

    ### 创建 dockerfile 文件
    mkdir dockerfile && cd dockerfile
    ### 下载 python(这里以3.7为例)
    wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
    ### 将 python 项目复制到此目录
    cp ~/test.py  .
    ### 以及 python 项目的依赖库
    cp ~/requirements.txt .
    

    4) 需要自定义docker镜像的大致内容准备好了,接下来编写dockerfile:

    vim Dockerfile
    
    ### 以centos:centos7来作为基础镜像
    FROM centos:centos7
    ### 下载编译需要用到的软件
    RUN yum install -y gcc gcc-c++ autoconf automake libtool make zlib* libffi-devel
    ### 将dockerfile目录下的python-3.7.3.tgz复制到docker容器内
    COPY Python-3.7.3.tgz /usr/local/src
    ### 编译安装 python
    WORKDIR /usr/local/src
    RUN tar -xf Python-3.7.3.tgz
    WORKDIR Python-3.7.3
    RUN ./configure --prefix=/usr/local/python37 && make && make install
    ENV PATH /usr/local/python37/bin:$PATH
    ### 创建工作目录
    RUN mkdir /spider
    ### 将python项目复制到 /spider工作目录下
    ADD test.py /spider
    ADD requirements.txt /spider
    ### 设置 /spider 为工作目录
    WORKDIR /spider
    ### 下载 python 项目的依赖库
    RUN pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mi    rrors.aliyun.com  -r requirements.txt
    ### 在创建个爬取的数据存放的目录,这个需要根据自己代码里面设置的目录来创建,例如:
    VOLUME /data
    ### 最后一步,运行docker镜像时运行自己的python项目
    ### 可以多个参数: CMD ["python3","a","main.py"]
    CMD ["python3","test.py"]
    

    5) 接下来构建镜像:(就在此目录下运行)

    ### docker build -t 镜像名:版本号     镜像名:版本号 均为自定义   别忘了末尾的点“.”
    docker build -t pythonspider:v1 .
    

    6) 运行镜像:

    ### 通过 docker images命令就可以看到刚刚创建的镜像
    docker images
    
    ### 运行
    docker run -d --name spider -v /data:/data pythonspider:v1
    ### -d为后台运行,--name 后面设置容器名,-v 是目录共享,主机目录和docker容器内目录共享。创建dockerfile的时候,有这一句 VOLUME /data 就是作为共享目录使用的,“:”前的目录为主机目录,后面的目录为容器内目录。。。  最后一个参数 pythonspider:v1 镜像名
    
    cd /data 
    ### 到此目录下你就会看到产生的数据
    
  • 相关阅读:
    javascript中万恶的function
    Windows7下如何安装部署秋色园CYQBlog源码V1.0网站
    Extjs2.2:Panel里面嵌入Excel表格
    Extjs做界面很酷;感谢博客园给我一个展示的机会;借此向大家展示一下EXTJS的魅力
    16Aspx.com改进版Extjs简单版酒店管理系统提供下载!
    Ext2.2+ASP.NET开发框架已完成欢迎大家下载!
    Extj+Asp.net开发框架V1.1树的操作
    Ext2.2程序开发实战(1)登录界面
    扩展欧几里得定理
    C语言 统计整数二进制表示中1的个数
  • 原文地址:https://www.cnblogs.com/HouZhenglan/p/11926117.html
Copyright © 2011-2022 走看看