github项目【testerSunshine/12306】通过docker构建

我是在windows 10系统下通过docker构建成功的,我遇到的问题,不一定在其它电脑环境上也会出现,所以我的构建步骤也不一定是绝对正确的,仅供参考,互相学习,如果有何不对的地方,请多多斧正。

以下是构建过程:

1.安装docker环境

docker环境的安装参考菜鸟教程https://www.runoob.com/docker/windows-docker-install.html

打开windows系统的Hyper-V功能,此步完成后要重启一下电脑
在这里插入图片描述

重启后去docker官网下载 Docker Desktop

在这里插入图片描述

在这里插入图片描述
这一步需要输入Docker Hub的账号密码,去注册一个即可

安装过程就按照菜鸟教程,在此不再叙述

安装之后,查看一下docker版本和docker-compose版本
在这里插入图片描述

2.克隆12306项目到本地

代码Git客户端,克隆项目到本地
在这里插入图片描述

3.docker构建打码服务器

在这里插入图片描述

打码服务器的镜像文件在Docker Hub https://hub.docker.com/r/yinaoxiong/12306_code_server

在这里插入图片描述

> docker pull yinaoxiong/12306_code_server

在这里插入图片描述
pull到本地后,部署镜像
在这里插入图片描述
构建完毕后,查看运行的容器,会看到红框的那个容器,即为打码服务容器,端口8080
在这里插入图片描述

4.构建12306项目

首先要去12306项目根目录中,修改TickerConfig.py文件,按照注释设置自己要抢票的时间,车次,日期等信息。

其中有几个地方需要着重注意的:

设置本地打码服务地址

这个地址即我们第三步docker构建的打码服务器
在这里插入图片描述

设置RAIL_EXPIRATION、RAIL_DEVICEID的值

在这里插入图片描述

打开浏览器,按F12, 然后打开12306的网站,选择Network页签,找到index.html文件,在右侧Headers那个地方,找到cookie的值,里面就是要设置的RAIL_EXPIRATION、RAIL_DEVICEID的值
在这里插入图片描述

其它的设置按照自己的需要设置即可

TickerConfig.py文件设置完毕之后,按照下面的命令构建项目(开始抢票),停止项目(停止抢票),查看程序日志,即刷票信息(查看抢票)

开始抢票:docker-compose up --build -d
停止抢票:docker-compose down
查看抢票log: docker logs --follow ticket

5.构建12306遇到的问题

在执行docker-compose up --build -d构建项目,会遇到下面的问题:

pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Read timed out. ERROR: Service 'ticket' failed to build: The command '/bin/sh -c pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider --no-cache-dir -r requirements.txt' returned a non-zero code: 2

项目issues https://github.com/testerSunshine/12306/issues/406

我遇到相同的报错,原因是项目中的Dockerfile文件中,第一行设置的python版本号与我本地的版本号对应不上,我重新设置了版本号,再次 docker-compose up --build -d 重新构建就OK了。

我的python版本号是 3.2.4
在这里插入图片描述
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章