windows 11 打包python镜像相关操作

  • 第一步:Docker下载

首先先到Docker官网下载最新官方Docker for Windows链接,点击下载之后进行安装,安装好之后在cmd执行 wsl --update。
在这里插入图片描述

  • 第二步:在电脑上打开“控制面板”->“程序”-> “启动或关闭Windows功能”。

在这里插入图片描述
在这里插入图片描述
有的电脑上不带的话,可以自己安装一个。
安装方法:复制下面这段代码到一个空的txt文件,修改后缀为bat。 然后执行就有了。

pushd "%~dp0"

dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hv.txt

for /f %%i in ('findstr /i . hv.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

del hv.txt

Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL

Pause
  • 第三步:在Windows上安装Docker桌面版

在这里插入图片描述

  • 第四步:pip生成环境依赖文件requirements.txt

备注:可以根据自己的python环境修改包的版本,也可以加入自己需要的包在requirements.txt文件中

pip install pipreqs

cd 到程序所在的文件夹位置
执行下面的语句,Windows下得加encoding=utf8,不然会出现编码问题。

pipreqs ./ --encoding=utf8 
  • 第五步:编写Dockerfile

以python环境为基础镜像

FROM python:3.6
ENV LANG C.UTF-8
WORKDIR /app
ADD . /app
RUN python -m pip install --upgrade pip
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
#EXPOSE 8080
#定义容器启动时运行的命令
CMD ["python", "match4.py"]

这里面用到的requirements.txt就是准备工作中提到的使用pip生成的依赖文件。
Dockerfile文件放到和代码同一目录,然后就可以进行打包镜像了
备注1(python 的版本可修改)
备注2:如果开发的python 代码中涉及读取本地 excel 和txt文件的内容,可以将其添加到Dockerfile中
例如:

ADD stopwords.txt /path/in/container/
ADD stopwords2.txt /path/in/container/
ADD 民政部行政区划.xls /path/in/container/
  • 第六步:打包镜像

在powershell中cd到程序所在目录,然后执行打包命令,等待打包完成,打包过程会联网请求依赖,打包时间长短取决于网速以及电脑性能。

docker build -t imagename:tag .

imagename 和tag是自己可以命名的
打包完成之后,执行docker images命令,即可以看到生成的镜像。
在这里插入图片描述
熟悉desktop的也可以在上面看到镜像:
在这里插入图片描述

  • 第七步.运行镜像

这部分内容属于docker的操作,不做详细介绍
可以简单的使用交互的方式进行运行:

docker run --rm -it -p 8080:8080 imagename:tag
  • 第八步:镜像迁移使用
    打包好的镜像在本机的docker上,如果想要部署到其他机器上,可以将镜像打包成tar包,实现镜像的迁移。
    在powershell中执行docker save命令即可
docker save -o imagename.tar imagename:tag

默认会在powershell的当前目录下生成imagename.tar文件。
拷贝到其他机器上之后使用docker load命令将镜像添加在本机:

  • 九、运行过程中遇到的其他问题

运行中可能会报有我们在本地python环境下不会报的错误,如果遇到缺少依赖包的问题,就在requirements.txt中添加之后重新打包,当然网络不好的时候也会报错。继续运行即可。

参考博客:https://blog.csdn.net/joeyoj/article/details/136427362
参考博客:https://blog.csdn.net/zhoulizhu/article/details/134417822

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值