利用Dockefile将Python的py文件项目代码打包为Docker镜像
1.創建python項目
【備注:一定要將項目python環境依賴存至本項目下,默認依賴本機python環境(會造成依賴包過多)】
2.創建main.py文件,完成程序代碼
主要功能就是獲取"https://www.hao123.com/"網址頁面源代碼,并存儲到"myGetFile.html"文件中
main.py
#! python # -*- coding: utf-8 -*- from urllib.request import urlopen url = "https://www.hao123.com/"if __name__ == '__main__':resp = urlopen(url)# 把讀取到網頁的頁面源代碼寫入myGetFile.html文件with open("myGetFile.html", mode="w", encoding='utf-8') as f:f.write(resp.read().decode('utf-8'))f.close() # 關閉文件resp.close() # 關閉resp響應print("結束")3.導出程序依賴
在項目目錄下,打開shell面板
在打開的終端中,輸入pip freeze > requirements.txt回車,生成requirements.txt文件
4.打包前準備
在新建文件夾下面創建docker_test文件夾,同級目錄下創建Dockerfile文件,在docker_test文件夾下面添加main.py源代碼和requirements.txt文件
5.創建Dockerfile文件,添加內容
在Dockerfile文件中輸入以下內容:
# python版本,可根據需求進行修改 FROM python:3.8-alpineRUN mkdir /code# 將代碼和項目依賴添加到code文件夾 ADD ./docker_test /code# 設置code文件夾是工作目錄 WORKDIR /codeRUN pip install -r requirements.txt# 鏡像運行時執行的命令,這里的配置等于 python main.py ENTRYPOINT ["python","main.py"]7.打包Docker鏡像
docker build -t imagename Dockerfilepath
Dockerfilepath:Dockerfile 所在文件夾名稱,當前目錄為 “.”
在彈出的終端中輸入docker build -t mypythontest:1.0 .回車。
打包成功后,利用命令docker images可以驗證mypythontest鏡像
8.運行鏡像
#docker run --name c_name imagename
#c_name為容器名 imagename為打包的鏡像名
9.把docker鏡像中的文件復制到宿主機上來
本例,在終端中運行docker cp pythontest:/code ./
看到已生成code文件夾
生成的網頁源代碼文件
如果本文對您有所幫助,請關注微信公眾號“捷創源科技”。
獲取更多資料,請訪問我的博客
總結
以上是生活随笔為你收集整理的利用Dockefile将Python的py文件项目代码打包为Docker镜像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT5获取QPlainTextEdit
- 下一篇: python装饰器函数传参