ฉันกำลังเรียกใช้แอปพลิเคชันขวดภายในคอนเทนเนอร์ Docker ดังนั้นฉันจึงจำเป็นต้องผูกโฮสต์และพอร์ตคอนเทนเนอร์ (ในกรณีนี้คือพอร์ต 5,000 ทั้งคู่)
รันคำสั่งนี้:
docker run -v //c/Users/Nicholas/PycharmProjects/flask_tutorial:/opt/project -e "FLASK_APP=/opt/project/flaskr.py" -p 0.0.0.0:5000:5000 flask flask run --host=0.0.0.0
หมุนคอนเทนเนอร์และฉันสามารถเข้าถึงแอปได้ที่ 127.0.0.1:5000 ภายในเบราว์เซอร์ของฉัน อย่างไรก็ตามหลังจากป้อนการตั้งค่าเดียวกันเหล่านี้ลงใน Pycharm (2016.2.3) ให้รัน GUI การกำหนดค่าและเริ่มต้นคอนเทนเนอร์ ฉันไม่สามารถเข้าถึงแอปได้ (ฉันได้ลองเลือกตัวเลือกเผยแพร่พอร์ตทั้งหมดแล้วโดยไม่มีประโยชน์):
การใช้ docker inspect container_id
กับคอนเทนเนอร์บรรทัดคำสั่งที่สร้างขึ้น ฉันได้รับการตั้งค่าเหล่านี้ภายใต้ NetworkSettings:
"Ports": {
"5000/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "5000"
}
]
},
อย่างไรก็ตามด้วยคอนเทนเนอร์ที่สร้างการกำหนดค่าการรัน Pycharm ดูเหมือนว่าจะไม่ผ่านการผูกพอร์ต:
"Ports": {},
มีวิธีตรวจสอบตัวเลือกที่ Pycharm ส่งไปยัง Docker หรือไม่ หรือเพื่อให้ส่งผ่านตัวเลือกการผูกพอร์ตได้อย่างถูกต้อง?
ฉันใช้ Windows 10 และ Docker ทำงานบน Hyper-V (ไม่ใช่ VirtualBox)