安装Docker
Docker Desktop 官方下载地址: https://hub.docker.com/editions/community/docker-ce-desktop-windows,下载安装以后还不能启动,是因为win10家庭版没有Hyper-V。
创建一个文件,Hyper-V.cmd,把下边的内容复制进去(使用记事本或者notepad++都行)。

pushd "%~dp0"

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

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

del hyper-v.txt

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

hyperv安装android hyperv安装docker_hyperv安装android


右击以管理员身份运行,成功后会提示你重启计算机,然后就安装成功了。

特别注意,你需要在程序和功能-启动或关闭win功能里,勾选 Hyper-V、适用于 Linux 的 Windows 子系统、虚拟机平台。

hyperv安装android hyperv安装docker_python_02


hyperv安装android hyperv安装docker_Docker_03


hyperv安装android hyperv安装docker_python_04


最后,重启计算机,进入BIOS,启动开启虚拟化技术(Virtualization),在任务管理器能看到。此时,你还不能启动Docker,因为缺少WSL2,按照地址(https://docs.microsoft.com/zh-cn/windows/wsl/install-win10)中手动法的6个步骤全部操作完毕之后,就大功告成了。

hyperv安装android hyperv安装docker_Docker_05

Docker打包

如果你是用anaconda+pycharm开发的,那么你得再创建一个Python虚拟工程(如下图),安装你需要的库,否则生成的requirements文件会很大。

hyperv安装android hyperv安装docker_docker_06


使用pip freeze > requirements.txt命令,可以将依赖输出,创建python文件和Dockerfile文件输入如下内容,把hello.py文件更改为你的启动文件即可。这只为了说明步骤,创建hello文件,做简单输出,如果是工程,可以直接将工程目录复制过来。

hyperv安装android hyperv安装docker_docker_07

# python版本,可根据需求进行修改
FROM python:3.7
RUN mkdir /code
# 将python程序添加到镜像
ADD hello.py /code/
# 将项目依赖添加到镜像
ADD requirements.txt /code/
WORKDIR /code
RUN pip install -r requirements.txt
# 镜像运行时执行的命令,这里的配置等于 python CSDN.py
ENTRYPOINT ["python","hello.py"]

hyperv安装android hyperv安装docker_python_08


Docker打包

在windows powershell中,切换到当前路径运行docker build -t python:3.7 .。

python:3.7是镜像名:版本号,命令最后有一个英文点(.),是当前目录意思。

等build结束以后,使用docker images就可以查看镜像

hyperv安装android hyperv安装docker_docker_09


hyperv安装android hyperv安装docker_docker_10


也可以启动Docker,查看images。

hyperv安装android hyperv安装docker_docker_11

使用docker run -itd --name myappdemo python:3.7,就可以运行了。或者在Docker直接点run也行。就可以查询到输出结果了。

hyperv安装android hyperv安装docker_Docker_12


如果在命令行下运行,需要在命令末尾加test否则输出的是一串字符,命令如下:

docker build -t fox-test .。

docker run -it fox-test

hyperv安装android hyperv安装docker_python_13


hyperv安装android hyperv安装docker_hyperv安装android_14