【问题标题】:Why docker container doesn't run为什么docker容器不运行
【发布时间】:2018-12-17 12:04:30
【问题描述】:

我正在尝试在 windows 上的 docker 和 python 3.7 中运行烧瓶应用程序。

这是我的烧瓶应用程序:

app.py:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
   #some lines of code
   return render_template('home.html', url=url, host='0.0.0.0')

if __name__ == '__main__':
   app.run(debug=True, host='0.0.0.0')

然后我创建了一个 dockerfile.txt 作为 DockerFile 并在里面放入以下内容:

FROM python:3.7
MAINTAINER <<Your Name>>
RUN apt-get update -y && \
   apt-get install -y python3-pip python3-dev
COPY ./requirements.txt /app/requirements.txt
WORKDIR /app
RUN pip3 install -t lib -r requirements.txt
COPY . /app
ENTRYPOINT [ "python3" ]
CMD [ "app.py" ]

然后我在命令提示符下运行以下 cmets:

docker build -t flask-image:latest .
docker run -d -p 5000:5000 --name name-container1 flask-image

我的问题是在docker ps -a 之后我看到容器name-container1 已退出。但是不知道为什么???

这是输出:

CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                          PORTS               NAMES
d925f21f165c        flask-image         "python3 app.py"    About a minute ago   Exited (1) About a minute ago                       name-container1

【问题讨论】:

  • 请运行 docker logs d925f21f165c 并分享您从那里获得的信息。
  • 推荐使用:hub.docker.com/r/tiangolo/uwsgi-nginx-flask 在 docker 中构建烧瓶应用
  • 首先在没有 -d 的情况下运行容器。然后它将容器控制台直接输出到您的窗口。在我看来,由于 flash 错误配置,应用程序没有启动并且容器被终止。
  • RUN pip3 install flask 添加到我的dockerfile

标签: python docker flask


【解决方案1】:

很可能 PYTHONPATH 没有在 Docker 中设置。而不是RUN pip3 install -t lib -r requirements.txt,只需将要求安装为RUN pip3 install -r requirements.txt

【讨论】:

  • 现在它给了我这个错误:ModuleNotFoundError: No module named 'pandas_datareader'
  • 您还在尝试运行原始问题中的代码吗?我那里没有pandas_datareader 读者。除非您在这种情况下添加了更多导入 pandas_datareader 的代码,否则 requirements.txt 中有 pandas_datareader 吗?
猜你喜欢
  • 2019-08-07
  • 2021-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-22
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
相关资源
最近更新 更多