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
在這裏插入圖片描述
在這裏插入圖片描述

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