简体   繁体   中英

starting container process caused "exec: \"uwsgi\": executable file not found in $PATH": unknown

I am trying to start a docker container and I am getting the error "Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: "uwsgi": executable file not found in $PATH": unknown". I think it is related to my dockerfile and uwsgi file but I am unsure as to why I cannot start my container. I have already pip installed uwsgi. I also haven't found any other solutions apart from installing uwsgi even though its already there

Docker File

##
## Dockerfile to generate a Docker image from a GeoDjango project
##

# Start from an existing image with Python 3.8 installed
FROM python:3.8

MAINTAINER Mark Foley

# Run a series of Linux commands to ensure that
# 1. Everything is up-to-date and
# 2. Install GDAL
RUN apt-get -y update && apt-get -y upgrade && apt-get -y install libgdal-dev

# Make a working directoir in the image and set it as working dir.
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# make sure that pip & setuptools are installed and to date
RUN pip install --upgrade pip setuptools wheel

# Get the following libraries. We caan install them "globally" on the image as it will contain only our project
RUN apt-get -y install build-essential python-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info

# You should have already exported your Python library reuirements to a "requiremnts.txt" file using pip.
# Now copy this to the image and install everything in it.
COPY requirements.txt /usr/src/app
RUN pip install -r requirements.txt

# Copy everything in your Django project to the image.
COPY . /usr/src/app

# Make sure that static files are up to date and available
RUN python manage.py collectstatic --no-input

# Expose port 8001 on the image. We'll map a localhost port to this later.
EXPOSE 8001

# Run "uwsgi". uWSGI is a Web Server Gateway Interface (WSGI) server implementation that is typically used to run Python
# web applications.
CMD ["uwsgi", "--ini", "uwsgi.ini"]

UWSGI File

[uwsgi]

#=======================
# DO NOT EDIT THIS FILE
#=======================

# chdir to the folder of this config file
chdir = %d
# %d is the dir this configuration file is in
#socket = %dapp.sock
http = :8001
# load the module from wsgi.py, it is a python path from
# the directory above.
module = geodjango_2021.wsgi:application
# allow anyone to connect to the socket (666). This is very permissive
chmod-socket=664

master = true
processes = 4
vacuum = true
#harakiri = 30
#threads = 2 

Try to install uwsgi in your requirement.txt file

$ pip install uwsgi

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM