Python環境搭建、python專案以docker映象方式部署到Linux
本文的專案是用Python寫的,記錄了生成docker映象,然後整個專案在Linux跑起來的過程:
1、windows中Python環境搭建以及pycharm的安裝和配置,用以開發Python專案
這個其實很簡單,我從網路上找了一些資源,以下是截圖(這塊是轉的)
(一).python環境的搭建
(1).下載python(這裡以python3.6為例)
step 1:開啟下載網址:https://www.python.org/downloads/windows/
step 2:我這裡選著python3的版本
step 3:選擇python的可執行檔案安裝包
(2).安裝python(這裡以python3.6為例)
step 1:下載完成後就可以安裝了,基本傻瓜式安裝,不過要強調幾點,如下圖(python3.6已經可以自動新增環境變數 如果你要安裝python2那麼你手動配置環境變數,具體方法自行百度,這裡不做贅述!)
step 2:安裝完成後,我們來檢查一下python是否安裝成功,開啟cmd命令,輸入python,回車,若顯示類似下圖,證明環境搭建完成。
step 3:測試輸出hello world,從開始選單開啟python自帶的IDE,輸入如下程式碼,然後回車。
至此,我們的python環境搭建完成。
(二).pycharm的安裝與配置
(1).pycharm的下載
step 1:開啟下載網址:http://www.jetbrains.com/pycharm/
step 2:點選下載按鈕。
step 3:專業版是收費的,社群版是免費的,並且社群版新手使用足夠,我們這裡下載社群版。
(2).pycharm的安裝
pycharm的安裝依然是傻瓜化安裝,基本一路next,這裡只強調一點
step 2:接下來是一些按照順序擺放的配置圖片。完成pycharm的基本配置
(4).pycharm的python直譯器的搭建
同樣,接下來是一些按照順序擺放的配置圖片。完成pycharm的python直譯器的搭建
(5).pycharm的建立一個新專案
首先開啟pycharm,接下來是一些按照順序擺放的配置圖片。完成pycharm的一個專案建立。
至此,pycharm已經全部安裝完成。
pycharm中安裝元件的方法:
Python中安裝bs4後,pycharm報錯ModuleNotFoundError: No module named 'bs4'
如果此時使用pycharm執行程式碼,在引用bs4 “frombs4 import BeautifulSoup”時還會報錯“ModuleNotFoundError: Nomodule named 'bs4'.” 未找到名為bs4的模組,這時需要在Pycharm上安裝bs4模組來解決,解決方法如下:
1. File– Setting
Project:Python – Project Interperter
在該頁面下會顯示執行專案預設的python版本,如圖我設定的python版本是python3.6;
還會顯示在pycharm上安裝的模組,如果執行專案時報錯“找不到bs4”,應該是不會顯示bs4這個模組的,我安裝過,所以會顯示。
Install
點選介面右側的+號,可以開啟安裝模組介面,在該介面下可以直接搜尋並安裝相應模組,輸入bs4,搜尋到對應結果,選擇安裝模組。
安裝完成
安裝完成後在介面下方會提示“Package‘bs4’ install successfully”
2、Linux中Python3環境搭建
下載與解壓,我這邊對應的Python專案所需要的版本,裝的是3.7.2
[root@localhost ~]#wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
[root@localhost ~]#tar -xzvf Python-3.7.2.tgz
然後重新命名解壓後的資料夾為python3
Python環境搭建成功
3、Python專案Dockerfile準備
我的Python專案結構如下:
平時在pycharm裡面執行該工程,只要直接執行job.py檔案即可。目標是把Python專案放到Linux系統,以docker映象方式使用容器啟動。
4、cmd進入py專案目錄,通過pip命令,生成整個Python專案所需要的環境的包放到requirements.txt
#在當前目錄把Python所依賴的元件,列在requirements.txt檔案中
pip freeze > requirements.txt
生成後的requirements.txt內容如下:
5、建立上傳到Linux系統的目錄,含有原py專案目錄,以及Dockerfile
我的做法是,是在workspace中,建一個專門的目錄docker_py
進入docker_py,可以看到py專案和Dockerfile檔案,py專案是拷貝過來的
然後把docker_py目錄打zip包,上傳至Linux,至於Dockerfile的內容,建議不要在windows編輯,因為在windows編輯,會帶有windows的符號,直接在Linux在編輯,或者整個Dockerfile檔案也在Linux環境在通過touch方式建立,再編寫也OK。
通過命令
rz
上傳 docker_py.zip 到 /data/docker/py_app 目錄,然後把zip解壓到當前目錄
unzip docker_py.zip
進入docker_py,編寫Dockerfile內容
#基於的基礎映象
FROM python:3.7
#程式碼新增到code資料夾,後面可以通過進入容器中看的
ADD ./py /code
# 設定code資料夾是工作目錄
WORKDIR /code
# 安裝支援
RUN pip install -r requirements.txt
#當容器啟動時,使用python3執行指定路徑的py指令碼
CMD ["python3", "/code/venv/Include/job.py"]
6、Linux中把Dockerfile生成映象
Linux進入docker_py目錄,然後docker方式生成映象
# py_app為建立的映象名稱,. 表示以當前目錄的內容生成(docker_py)
docker build -t py_app:2 .
看到上面截圖,則映象構建成功,我們校驗一下:
docker images
看到py_app映象已經成功了
7、Linux中docker_compose方式執行映象,到Python專案跑起來
進入py_app目錄,新建 docker-compose.yml 檔案
py:
image: py_app:2
ports:
- "8090:9060"
restart: always
docker-compose.yml編排檔案中,image需要與前面構建的映象名稱和版本一致,然後啟動專案
[root@localhost py_app]# docker-compose up -d py
至此,搞定了
8、解釋下前面Dockerfile設定的工作目錄,可以進入容器看