python #docker #flask #uwsgi
#python #docker #flask #uwsgi
Вопрос:
Я пытаюсь развернуть свой код python flask на своем Linux
сервере и следую инструкциям, приведенным в этой ссылке, и я изменил необходимые файлы, поскольку в моем проекте есть app.py
static
templates
папки и и . requirements.txt
уже присутствует. вот содержимое измененных файлов:
uwsgi.ini
[uwsgi]
module = app
callable = app
master = true
Dockerfile такой же
start.sh
#!/bin/bash
app="docker.test"
docker build -t ${app} .
docker run -d -p 56733:80
--name=${app}
-v $PWD:/app ${app}
и когда я открываю веб-страницу, она не загружается должным образом, а изображения и код css отсутствуют. Я развернул его heroku
, и все работает отлично. Не могли бы вы помочь мне, где я допускаю ошибку?
Редактировать: файл Docker:
FROM tiangolo/uwsgi-nginx-flask:python3.6-alpine3.7
RUN apk --update add bash nano
ENV STATIC_URL /static
ENV STATIC_PATH /var/www/app/static
COPY ./requirements.txt /var/www/requirements.txt
RUN pip install -r /var/www/requirements.txt
Ответ №1:
Сопоставление томов в start.sh кажется неправильным, исходная папка должна быть сопоставлена с /var/www/ следующим образом
-v $PWD:/var/www/ ${app}
Кроме того, ваша статическая папка находится в корне вашего проекта, в примере она находится в папке приложения, поэтому либо переместите ее в папку приложения, либо исправьте инструкцию ENV следующим образом :
ENV STATIC_PATH /var/www/app/static