ฉันกำลังพยายามเชื่อมต่อและสร้าง ไฟล์นักเทียบท่าสองไฟล์ กับ นักเทียบท่าเขียน. ฉันยังใหม่กับนักเทียบท่า & แล้วมันก็สับสนขณะเชื่อมต่อกับนักเทียบท่า-เขียน วัตถุประสงค์หลัก: เชื่อมต่อส่วนหน้าและส่วนหลัง (ของแอปพลิเคชันขวด) ผ่าน นักเทียบท่าเขียน
หากไฟล์ Dockerfile & docker-compose.yml ของฉันผิด โปรดแก้ไขฉัน
- เช่นส่วนหน้าในโฟลเดอร์ส่วนหน้าเดียวกับ Dockerfile
- แบ็คเอนด์ในโฟลเดอร์อื่นด้วย Dockerfile (เชื่อม 2 ตัวนี้ผ่าน
doc-com)
นี่คือโครงสร้างไฟล์ของฉัน
นี่คือโครงสร้างไฟล์ของฉัน
นี่คือ docker-compose.yml ของฉัน
รุ่น: '3'
บริการ:
ส่วนหน้า:
สร้าง: ./ส่วนหน้า
พอร์ต:
- 5,000:80
ปริมาณ:
- .:/usr/share/nginx/htm
แบ็กเอนด์:
สร้าง: ./backend
ขึ้นอยู่กับ:
- ส่วนหน้า
พอร์ต:
- 5001:80
ปริมาณ:
- /home/doc-tryy-2/frontend:/usr/src/app
ปริมาณ:
ปริมาณสินทรัพย์ 4:
คนขับ: ท้องถิ่น
นี่คือส่วนหน้า / Dockerfile ของฉัน
จาก nginx:อัลไพน์
สำเนา /usr/share/nginx/htm
ทำงาน /usr/share/nginx/htm
เปิดเผย 5,000
นี่คือแบ็กเอนด์ / Dockerfile ของฉัน
จากหลาม:3
เวิร์กดีอาร์ /usr/src/app
ข้อกำหนดการคัดลอก.txt ./
RUN pip install --no-cache-dir -r requirement.txt
สำเนา .
เปิดเผย 80
CMD [ "หลาม", "app.py" ]
นี่คือแบ็กเอนด์/app.py ของฉัน
จากขวดนำเข้าขวด, render_template, แฟลช, เปลี่ยนเส้นทาง, url_for, เซสชัน, การบันทึก, คำขอ
แอป = กระติกน้ำ (__ชื่อ__)
app.secret_key = 'สวัสดี'
@app.route("/", วิธีการ=["GET", "POST"])
เข้าสู่ระบบ def ():
ถ้า request.method == "POST":
uname = request.form["uname"]
ส่งคืน render_template("loginpage.html", uname=uname)
อื่น:
ส่งคืน render_template("loginpage.html")
ถ้า __name__ == "__main__":
app.run(debug=True,port=80,host='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>