承德建設(shè)廳網(wǎng)站臨滄seo
目錄
一、在docker中安裝python
1.1?輸入鏡像拉取命令
1.2 查看鏡像
1.3 運(yùn)行
1.4 查看是否成功
1.5 查看python版本
二、運(yùn)行py文件
2.1準(zhǔn)備運(yùn)行所需文件
2.2 準(zhǔn)備文件夾
2.3 大概是這幅模樣
2.4 打包上傳到服務(wù)器上
?2.5 構(gòu)建鏡像示例
2.6 查看鏡像
2.7 優(yōu)化鏡像的體積大小。
2.8 運(yùn)行程序
一、在docker中安裝python
1.1?輸入鏡像拉取命令
注意這里我們使用的是alpine版本,與常用版本沒有太大的區(qū)別,主要的優(yōu)點(diǎn)就是體積很小!!
docker pull python:3.8-alpine
1.2 查看鏡像
1.3 運(yùn)行
docker run -itd python:3.8-alpine /bin/sh
1.4 查看是否成功
1.5 查看python版本
?docker exec -it py容器的id?/bin/sh
退出ctrl+D
二、運(yùn)行py文件
2.1準(zhǔn)備運(yùn)行所需文件
打包成鏡像需要的Dockerfile文件,和requirement.txt文件
Dockerfile文件參考如下
#基于的基礎(chǔ)鏡像
FROM python:3.8.16# 設(shè)置code文件夾是工作目錄
WORKDIR /codepy1# 復(fù)制該文件到工作目錄中,./requirements.txt表示當(dāng)前目錄下的requirements.txt文件。這里 # 的/code/requirements.txt是docker內(nèi)部自動生成的工作目錄,不用自己創(chuàng)建的,請注意。
COPY ./requirements.txt /codepy1/requirements.txt# 禁用緩存并批量安裝包(后面的鏈接是利用豆瓣源安裝,速度會加快)
RUN pip install --no-cache-dir --upgrade -r /codepy1/requirements.txt -i https://pypi.douban.com/simple/# 復(fù)制代碼到工作目錄
COPY ./app /codepy1/app#運(yùn)行
CMD ["python", "/app/main.py"]
如何生成requestment.txt請看這篇文章:
Py自動生成requirements.txt文件_桂亭亭的博客-CSDN博客
2.2 準(zhǔn)備文件夾
將事先準(zhǔn)備好的文件放入新建的app文件夾中,Dockerfile可以等上傳到服務(wù)器上時(shí)再寫也行。
2.3 大概是這幅模樣
2.4 打包上傳到服務(wù)器上
Dockerfile的后綴名為沒有,不是txt,如果有后綴運(yùn)行是會報(bào)錯(cuò)的,請注意
?2.5 構(gòu)建鏡像示例
docker build -t viewadd .
2.6 查看鏡像
2.7 優(yōu)化鏡像的體積大小。
我們更改我們原來的Dockerfile文件,主要修改的就是版本號
#基于的基礎(chǔ)鏡像
FROM python:3.8-alpine# 設(shè)置code文件夾是工作目錄
WORKDIR /codepy1# 復(fù)制該文件到工作目錄中,./requirements.txt表示當(dāng)前目錄下的requirements.txt文件。這里 # 的/code/requirements.txt是docker內(nèi)部自動生成的工作目錄,不用自己創(chuàng)建的,請注意。
COPY ./requirements.txt /codepy1/requirements.txt# 禁用緩存并批量安裝包(后面的鏈接是利用豆瓣源安裝,速度會加快)
RUN pip install --no-cache-dir --upgrade -r /codepy1/requirements.txt -i https://pypi.douban.com/simple/# 復(fù)制代碼到工作目錄
COPY ./app /codepy1/app#運(yùn)行
CMD ["python", "/app/main.py"]
將原來的刪除后
重新打包
docker build -t viewadd .
2.8 運(yùn)行程序
可能會報(bào)錯(cuò),如下。
修復(fù)錯(cuò)誤
修改Dockerfile文件,注意我們更改了什么?
答:cmd運(yùn)行的路徑,一下是示例
#基于的基礎(chǔ)鏡像
FROM python:3.8-alpine# 設(shè)置code文件夾是工作目錄
WORKDIR /codepy1# 復(fù)制該文件到工作目錄中,./requirements.txt表示當(dāng)前目錄下的requirements.txt文件。這里 # 的/code/requirements.txt是docker內(nèi)部自動生成的工作目錄,不用自己創(chuàng)建的,請注意。
COPY ./requirements.txt /codepy1/requirements.txt# 禁用緩存并批量安裝包(后面的鏈接是利用豆瓣源安裝,速度會加快)
RUN pip install --no-cache-dir --upgrade -r /codepy1/requirements.txt -i https://pypi.douban.com/simple/# 復(fù)制代碼到工作目錄
COPY ./app /codepy1/app#運(yùn)行
CMD python /codepy1/app/main.py