【问题标题】:Unable to run docker container using python uwsgi无法使用 python uwsgi 运行 docker 容器
【发布时间】:2019-02-03 09:48:29
【问题描述】:

我正在构建一个小型 Python(flask) 应用程序。

镜像已成功构建,但容器未运行。当我运行docker ps 时,没有找到正在运行的容器。 docker日志也显示uwsgi not found

identidock.py:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_docker():
    return 'Hellow docker!\n'

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

Dockerfile:

FROM python:3.6

RUN pip install Flask==0.10.1
RUN pip install uWSGI==2.0.17
WORKDIR /app
COPY app /app

CMD ["uwsgi", "--http", "0.0.0.0:9090". "--wsgi-file", 
"/app/identidock.py", "--callable", "app", "--stats", "0.0.0.0:9191"]

运行的命令:

sudo docker build -t identidock .   <<< no problem
sudo docker run -d -p 9090:9090 -p 9191:9191 identidock << no problem
sudo docker ps     << empty   
sudo docker logs <container ID>  > >>/bin/sh: 1: [uwsgi,: not found

【问题讨论】:

  • 尝试在 CMD 行中添加 uwsgi 的完整路径
  • 代码格式和改写问题
  • 更新了标题、标签和代码格式

标签: docker uwsgi


【解决方案1】:

如果您使用此行 CMD ["uwsgi", "--http", "0.0.0.0:9090". "--wsgi-file", "/app/identidock.py", "--callable", "app", "--stats", "0.0.0.0:9191"] 构建 docker 映像,则在 "0.0.0.0:9090" 后面有一个点,您需要将其更改为 ,

Docker 文件应该是:

FROM python:3.6

RUN pip install Flask==0.10.1
RUN pip install uWSGI==2.0.17
WORKDIR /app
COPY app /app

CMD ["uwsgi", "--http", "0.0.0.0:9090", "--wsgi-file", "/app/identidock.py", "--callable", "app", "--stats", "0.0.0.0:9191"]

这应该可以...

【讨论】:

  • 不客气。如果可行,您能否将答案标记为正确?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-15
  • 1970-01-01
  • 2019-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多