Рейтинг:0

Не удается получить доступ к папке шаблона из внешнего контейнера. (колба) ( docker-compose.yml )

флаг in

я пытаюсь подключиться и построить два файла докера с docker-compose. Я новичок в докере, а затем он запутался при подключении к докеру. Основная цель: подключение внешнего интерфейса и внутреннего интерфейса (приложения flask) через docker-compose

Если мой файл Dockerfile и docker-compose.yml неверен. пожалуйста, поправьте меня

  • как внешний интерфейс в одной папке внешнего интерфейса с Dockerfile.
  • back end в другой папке с Dockerfile. (подключение этого 2, через док комп)

Вот моя файловая структура Вот моя файловая структура

Вот мой docker-compose.yml

версия: '3'
Сервисы:
  внешний интерфейс:
       сборка: ./фронтенд
       порты:
         - 5000:80      
       тома:
        - .:/usr/доля/nginx/htm
        
  серверная часть:
      сборка: ./бэкенд
      зависит от:
         - внешний интерфейс
      порты:
         - 5001:80      
      тома:
         - /home/doc-tryy-2/интерфейс:/usr/src/приложение    

тома:
  актив-объем4:
     водитель: местный

Вот мой интерфейс/Dockerfile

ОТ nginx:alpine
КОПИРОВАТЬ . /usr/доля/nginx/htm
РАБОЧИЙ КАТАЛОГ /usr/share/nginx/htm
ВЫСТАВИТЬ 5000

Вот мой бэкэнд/Dockerfile

ОТ питона:3
РАБОЧИЙ КАТАЛОГ /usr/src/app
КОПИРОВАТЬ требования.txt ./
ЗАПУСК pip install --no-cache-dir -r requirements.txt
КОПИРОВАТЬ . .
ЭКСПОЗИЦИЯ 80
CMD [ "python", "app.py" ]

Вот мой бэкэнд/app.py

импорт из flask Flask, render_template, flash, перенаправление, url_for, сеанс, ведение журнала, запрос

приложение = фляга (__имя__)
app.secret_key = 'привет'

@app.route("/", методы=["GET", "POST"])
деф логин():
    если request.method == "POST":
        имя = запрос.форма["имя"]
        вернуть render_template("loginpage.html", uname=uname)
    еще:
        вернуть render_template("loginpage.html")


если __name__ == "__main__":
    app.run(отладка=Истина,порт=80,хост='0.0.0.0')

Вот мои шаблоны/loginepage.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Logg</title>
</head>
<body>

<h2>HTML Forms</h2>

<form action="/" method="post">
  <label for="fname">First name:</label><br>
  <input type="text" id="uname" name="uname" value="John"><br>

  <input type="submit" value="Submit">
</form>
<h1>hi {{uname}}</h1>



</body>
</html>

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.