无法将烧瓶应用程序作为docker映像运行

时间:2020-06-25 21:41:04

标签: docker flask dockerfile

我是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 .目录中构建映像 该图像已成功构建,但出现警告: enter image description here

最后,必须运行我新创建的图像的run flask出现了我上面写的错误。

感谢您在指导我解决此问题方面的帮助。预先谢谢你

2 个答案:

答案 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"]