docker 和爬虫部署中出现的问题

命令记录:

 119  docker build -t realtor:latest
  120  docker build -t realtor:latest .
  121  docker ps
  122  docker images
  123  docker build -t realtor:latest .
  124  docker images
  125  docker run realtor
  126  docker build -t realtor1:latest .
  127  docker images
  128  docker run realtor1
  129  docker build -t realtor2:latest .
  130  docker ps
  131  docker run realtor2
  132  docker exec -it a61915f03c32 bash
  133  docker iamges
  134  docker images
  135  docker exec -it a61915f03c32 bash
  136  docker ps
  137  docker run -d realtor2
  138  docker ps
  139  docker pas -a
  140  docker ps -a
  141  docker run -dit realtor2
  142  docker attach realtor
  143  docker attach realtor2
  144  docker ps
  145  docker exec -it realtor2 bash
  146  docker exec -it 36ed93a2cfa5 bash
  147  history

出现的问题:

1:关于文件的目录问题:

FROM python:3.6
ENV PATH /usr/local/bin:$PATH
ADD . /code
WORKDIR /code
RUN pip3 install -r requirements.txt -i https://pypi.douban.com/simple

#CMD scrapy crawl realtor

第一行的FROM代表使用的Docker基础镜像,在这里我们直接使用python:3.6的镜像,在此基础上运行Scrapy项目。

第二行ENV是环境变量设置,将/usr/local/bin:$PATH赋值给PATH,即增加/usr/local/bin这个环境变量路径。

第三行ADD是将本地的代码放置到虚拟容器中。它有两个参数:第一个参数是.,代表本地当前路径;第二个参数是/code,代表虚拟容器中的路径,也就是将本地项目所有内容放置到虚拟容器的/code目录下,以便于在虚拟容器中运行代码。

第四行WORKDIR是指定工作目录,这里将刚才添加的代码路径设成工作路径。这个路径下的目录结构和当前本地目录结构是相同的,所以我们可以直接执行库安装命令、爬虫运行命令等。

第五行RUN是执行某些命令来做一些环境准备工作。由于Docker虚拟容器内只有Python 3环境,而没有所需要的Python库,所以我们运行此命令来在虚拟容器中安装相应的Python库如Scrapy,这样就可以在虚拟容器中执行Scrapy命令了。

第六行CMD是容器启动命令。在容器运行时,此命令会被执行。在这里我们直接用scrapy crawl quotes来启动爬虫。

 

ADD 命令是是将代码放入容器中的命令,很关键,

我在爬虫项目中有read 文件的命令,但是路径不是相对于项目的位置,而是一个固定位置,所以会报错,要结合这里的命令

来确定真的文件路径

 

还有一个问题是关于进入docker容器的问题:

默认自己创建的容器会在执行了dockerfile中的cmd命令之后会退出,所以就算你是使用了

docker run -d container_name ;

容器也不会在后台运行,需要用到:

docker run -dit container-name 才行

查看容器运行命令:

docker ps

查看镜像:docker images

进入容器:

docker exec -it 容器id bash

注意这里只能是容器的id,不能是名字,但是好像能通过名字,后面来补充;

 

3:关于linux文件目录问题:

/code/AmericanRealEstate/ 只能以这种"/" 分隔目录,不然会找不到目录:

4:还是ADD 的问题:对于创建的项目,我们命名可能与ADD 的名称不一样,这里一定要一样,不然会提示找不到模块;

 

 

 


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值