Как передать статические образы из хост-системы в контейнер докеров? - PullRequest
0 голосов
/ 28 декабря 2018

Мне нужна помощь, чтобы Flask использовал изображения из каталога (путь передается через аргументы программы, используя argparse).Проблема в том, что мне нужно заставить эту работу работать с Docker, чтобы использовать каталог хоста внутри контейнера.

Проверьте мою структуру каталогов:

Static/0.png
main.py

Код Flask: main.py

import argparse
import flask

parser = argparse.ArgumentParser()
parser.add_argument("--path",default="static")
args = parser.parse_args()

app = Flask(__name__,static_folder=args.path)
app.route("/")

def init():
    path = os.path.join(args.path,"0.png")
    return "<img src="+path+"/>"

Dockerfile:

FROM python:3-onbuild
EXPOSE 5000
ENTRYPOINT ["python","main.py"]

Заметьте, что когда я использую каталог Static/ внутри контейнера, он работает, но когда я использую путь вне контейнера, он не работает.

1 Ответ

0 голосов
/ 28 декабря 2018

Вы можете создать VOLUME для этого.

В вашем Dockerfile:

VOLUME /app/static_files
...
ENTRYPOINT ["python","main.py", "/app/static_files"]

И во время работы вашего контейнера вы должны указать путьстатические файлы с аргументом -p <path>:/app/static_files

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...