- 第一步: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