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