我是Windows 10中docker的一个完整的初学者,我有一个flask项目,目录中包含一些html模板。我创建一个dockerfile并将其插入我的目录内,然后构建一个要运行的docker映像。但是,没有运行我的docker映像,我得到了错误C:\Program Files\Docker\Docker\resources\bin\docker.exe: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"python\": executable file not found in $PATH": unknown.
,我不理解或不知道如何解决。
我的dockerfile:
FROM ubuntu:16.04
MAINTAINER bill<bill@gmailcom>
RUN apt-get update
RUN apt-get install -y python3 python3-pip
RUN pip3 install flask pymongo
EXPOSE 5000
WORKDIR "/MovieFlix2020_E17136_SKENTOS_VASILIS"
CMD ["python", "webservice.py", "--host", "127.0.0.1", "--port", "5000"]
我使用"/MovieFlix2020_E17136_SKENTOS_VASILIS"
在docker build -t flask .
目录中构建映像
该图像已成功构建,但出现警告:
最后,必须运行我新创建的图像的run flask
出现了我上面写的错误。
感谢您在指导我解决此问题方面的帮助。预先谢谢你
答案 0 :(得分:1)
在127.0.0.1上侦听连接,也称为“本地主机”,仅允许本地连接。当您从容器内监听127.0.0.1时,只有该容器内的连接会起作用。
修复很简单。将“ 127.0.0.1”更改为“ 0.0.0.0”。
答案 1 :(得分:1)
您遇到的错误是"exec: \"python\": executable file not found in $PATH": unknown"
。我认为您收到此错误是因为您的容器已安装python3,但是在CMD
参数中您正在运行python
,默认情况下,它将尝试在ubuntu中运行python的2.7版。
尝试更换
CMD ["python", "webservice.py", "--host", "127.0.0.1", "--port", "5000"]
与
CMD ["python3", "webservice.py", "--host", "127.0.0.1", "--port", "5000"]
。