win10用docker容器运行本地python文件

问题产生与解决

在win10中用docekr创建python容器去执行本地.py文件可能会产生以下问题

docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: 
starting container process caused "exec: \"a.py\": executable file not found in $PATH": 
unknown.

产生的原因就是这个容器找不到需要执行的python文件路径,那么需要怎么解决呢?小编查阅了很多都是关于linux命令如何去做的而且说的不是很容易理解,ok在这里小编将会对该操作进行最全面的分析。在这之前我们要先去setting设置一下
在这里插入图片描述
找到右下角的图标右击点击setting
win10用docker容器运行本地python文件_第1张图片
然后会跳出以下页面
win10用docker容器运行本地python文件_第2张图片
选择Shared Drives选项,然后选择想要运行文件的所在磁盘,最后Apply就行了,这样你就可以通过docker容器运行本地的文件内容了
win10用docker容器运行本地python文件_第3张图片
当然这里会有人说我的没有这么多选项啊,对比下图你会发现第五个选项会有所不同,你的是Switch to Linux containers...,点击这个就可以了(注:如果不是Linux容器的话当你拉取镜像的时候会出现问题,大概意思会说在镜像列表中没有对应win64操作系统的镜像,所以这里一定要用Linux容器),等docker重启后,你再去打开setting就会发现没有问题了。
win10用docker容器运行本地python文件_第4张图片
到这里基本的准备就做好了,下面开始正题了,先贴上图片。
在这里插入图片描述
我运行的代码是:

docker run -v D:/dockerfiles/myapp:/usr/src/myapp -w /usr/src/myapp python:3.6 python 1.py

docker:操作符。

run:docker命令,执行的意思。
-v D:/dockerfiles/myapp:/usr/src/myapp:将本机上要运行的py文件的目录D:/dockerfiles/myapp挂载到容器中的/usr/src/myapp容器执行路径,/usr/src/myapp中是可以随便换的,为了更好理解,直接上图。

在这里插入图片描述
-w /usr/src/myapp:指定容器的/usr/src/myapp目录为工作目录,就是执行py文件的路径。
python:3.6:镜像的名称和标签(版本号),这里就是指python3.6这个版本镜像。
python 1.py相信用过python的都知道,电脑里配置过python文件执行路径的,在cmd命令行中就是可以运行
在这里插入图片描述
效果和在容器中一样,所有问题到这里就解决了。
注:本机的文件路径最好写绝对路径,小编在这就用的D:/dockerfiles/myapp,在用其他时就会出现同样的问题。

你可能感兴趣的:(docker学习)