当前位置: 首页 > 知识库问答 >
问题:

uWSGI Docker:pyuwsgi:在$PATH中找不到可执行文件

夏晋
2023-03-14

我有一个运行在Docker容器中的uwsgi服务,我想用它来服务django应用程序。当我在本地运行uwsgi服务时,一切正常,但是从docker容器中我得到消息***没有加载任何应用程序。在完全动态模式下运行***——未找到python应用程序,请检查启动日志中的错误---,django应用程序显示内部服务器错误。这是我的uwsgi.ini文件。在docker容器中,我使用类似于[program:uwsgi]command=/usr/local/bin/uwsgi--ini/home/docker/code/uwsgi.ini:docker的命令启动uwsgi

[uwsgi]
# this config will be loaded if nothing specific is specified
# load base config from below
ini = :base

[dev]
ini = :base
# socket (uwsgi) is not the same as http, nor http-socket
socket = :8001

[local]
ini = :base
http = :8000
# set the virtual env to use
home=/Users/Robbie/.virtualenvs/my_virtualenv

[docker]
init = :base
logto = /var/logs/uwsgi.log
http = :80
master = true
processes = 6


[base]
# chdir to the folder of this config file, plus app/website
chdir = %ddjango_project_root_dir/
module=project_app.wsgi:application
# Set settings module.
env = DJANGO_SETTINGS_MODULE=project_app.settings
chmod-socket=664

据我所知,我所有的路径都应该是正确的... docker容器中文件的简化树就像

/home/docker/code
|
|____ uwsgi.ini
|____ supervisor.conf
|
└── django_project_root_dir
    │  
    └── project_app
        ├── __init__.py
        ├── settings.py
        └── wsgi.py

编辑

当我运行docker execDOCKER_IDuwsgi--ini /home/docker/code/uwsgi.ini:本地时,我得到响应docker-exec:未能执行: exec:"pyuwsgi":在$PATH中找不到可执行文件


共有1个答案

唐弘厚
2023-03-14

原来我很笨。

[docker]部分的uwsgi.ini需要有ini=: base,而不是init=: base。基本部分没有被解析,所以wsgi模块从未被设置。

总是校对你的工作,朋友。

 类似资料:
  • 我有一个docker映像,它安装了,但是当我试图运行它时,我得到了一个错误: 如果我在交互模式下运行bash,则可用。 我做错了什么? 这是我的Dockerfile:

  • 问题内容: 我有一个安装的docker映像,但是当我尝试运行它时,出现错误: 如果我以交互模式运行bash,则可用。 我究竟做错了什么? 这是我的Dockerfile: 问题答案: 当您将exec格式用于命令(例如,带双引号的JSON数组)时,将在 没有 外壳的 情况下 执行该命令。这意味着大多数环境变量将不存在。 如果您将命令指定为常规字符串(例如),则之后的字符串将使用来执行。 有关更多信息,

  • 我已经检查了垃圾箱,里面没有ping

  • 我正在尝试为elasticsearch 1.7运行docker容器。下面是我的Dockerfile: Docker build运行良好。但是docker run命令给了我这个错误:来自守护进程的错误响应:oci运行时错误:container\u linux。go:265:启动容器进程导致“exec:\“elasticsearch\”:在$PATH中找不到可执行文件” 我使用的Mac和Docker版

  • 我完全按照这个例子,[http://kubernetes.io/docs/hellonode/,] 在我运行[kubectl run hello-node--image=gcr.io/project_id/hello-node:v1--port=8080 deployment“hello-node”created]之后。pod运行不正常,我得到了CrashLoopBackOff状态,我没有部署执行

  • 我已经通过libav-tools对安装了ffmpeg的应用程序进行了dockerize。该应用程序启动时没有问题,但是当Fluent-ffmpeg npm模块试图执行ffmpeg命令时出现了问题,但没有找到。当我想检查ffmpeg的版本和图像中设置的linux发行版时,我使用了命令,但它给出了以下错误: 然后我意识到,我尝试在图像或容器中运行的所有命令都会出现同样的错误。 这是我的Dockerfi