Score:0

ไม่สามารถส่งต่อพอร์ตบนนักเทียบท่าใดๆ

ธง je

ดังนั้นฉันจึงพยายามตั้งค่าบางเว็บไซต์และอื่นๆ บนเซิร์ฟเวอร์ Ubuntu 20.04.3 LTS ของฉัน แอพฐาน WebUI ที่แตกต่างกันในนักเทียบท่าต่าง ๆ ที่เข้าถึงผ่าน nginx แต่ฉันต้องการเชื่อมต่อกับนักเทียบท่าคนใดก็ได้ของฉัน หลังจากถ่ายภาพ trubble ดูเหมือนว่าการส่งต่อพอร์ตไม่ทำงานบนนักเทียบท่าของฉัน มันเริ่มต้นด้วย node-red docker ของฉัน nginx ก็ใช้งานไม่ได้เช่นกัน และตอนนี้ฉันได้ติดตั้ง whoami docker ที่ง่ายมากด้วยเว็บเซิร์ฟเวอร์พื้นฐานที่ทำงานบนพอร์ต 8000 ฉันยังไม่สามารถเชื่อมต่อกับมันได้

ถ้าฉันไปที่นักเทียบท่าโดยใช้ "นักเทียบท่า exec -ti whoami sh" ฉันสามารถเข้าถึงเว็บเซิร์ฟเวอร์ผ่าน wget แต่ไม่ใช่จากภายนอกนักเทียบท่า

ฉันได้ค้นหาจำนวนมากและปัญหาส่วนใหญ่ที่ใช้แฟล็ก -p หรือเว็บเซิร์ฟเวอร์ที่ฟังเฉพาะ localhost เป็นต้น ทั้งสองกรณีไม่ใช่ที่นี่

นี่คือเอาต์พุตเทอร์มินัลทดสอบของฉันเพื่อแสดงสิ่งที่เกิดขึ้น

$~นักเทียบท่า ps
รหัสคอนเทนเนอร์ IMAGE คำสั่งสร้างสถานะชื่อพอร์ต
726da9705b7f jwilder/whoami "/app/http" ประมาณหนึ่งนาทีที่แล้ว ขึ้น ประมาณหนึ่งนาที 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp whoami
$ ~ เธ 
$~Â wget -O - http://127.0.0.1:8000/
--2021-10-16 23:19:09-- http://127.0.0.1:8000/
กำลังเชื่อมต่อกับ 127.0.0.1:8000...
ส่งคำขอ HTTP แล้ว กำลังรอการตอบกลับ...ข้อผิดพลาดในการอ่าน (การรีเซ็ตการเชื่อมต่อโดยเพียร์) ในส่วนหัว
กำลังลองใหม่

--2021-10-16 23:21:21-- (ลอง: 2) http://127.0.0.1:8000/
กำลังเชื่อมต่อกับ 127.0.0.1:8000...
ส่งคำขอ HTTP แล้ว กำลังรอการตอบกลับ... ^C
$ ~ เธ 
$~Â นักเทียบท่า exec -ti whoami sh
/app # wget -O - http://127.0.0.1:8000/
กำลังเชื่อมต่อกับ 127.0.0.1:8000 (127.0.0.1:8000)
ฉัน 726da9705b7f
- 100% | *********************************************** *******| 17 00:00:00 กทพ
/app # ออก
$ ~ เธ 
$~แมว run.sh
นักเทียบท่ารัน -d -p 8000:8000 --name whoami -t jwilder/whoami
$ ~ เธ 
$~ 

พิสูจน์ว่าเซิร์ฟเวอร์ไม่ได้รับการแก้ไขไปยังโลคัลโฮสต์:

$ ~ เธ 
$~Â บันทึกนักเทียบท่า -f whoami
กำลังฟัง :8000
ฉัน 726da9705b7f
^ซี
$ ~ เธ 
$~Â นักเทียบท่า exec -ti whoami sh
/app # ./http
กำลังฟัง :8000
10/10/2021 22:36:23 ฟัง tcp :8000: ผูก: ที่อยู่ที่ใช้งานแล้ว
/app # ออก
$~ 
$ ~ เธ 

และเท่าที่ฉันสามารถบอกได้ว่าบริการนักเทียบท่าใช้พอร์ตจริง:

$~ 
$~ sudo lsof -i:8000
คำสั่ง PID ผู้ใช้ ประเภท FD ขนาดอุปกรณ์/ปิด ชื่อโหนด
นักเทียบท่า-pr 24976 รูท 4u IPv4 112329 0t0 TCP *:8000 (ฟัง)
นักเทียบท่า-pr 24984 รูท 4u IPv6 114001 0t0 TCP *:8000 (ฟัง)
$~ 
$~ 

แต่ก็ยังใช้งานไม่ได้

ไม่มีใครมีความคิดว่าเกิดอะไรขึ้น ฉันไม่รู้อะไรเลย

Phillip avatar
je flag
ตกลง ฉันหมายความว่าในขณะที่พบว่าถ้าฉันล้างข้อมูลและติดตั้ง docker.io ใหม่ ในครั้งแรกที่ฉันใช้พอร์ตจะใช้งานได้ แต่ถ้าฉันหยุดและ rm นักเทียบท่าและใช้ docker run เพื่อสร้างใหม่ มันจะหยุดทำงาน
Score:0
ธง de

ลองเรียกใช้คอนเทนเนอร์นี้บนพอร์ตอื่น:

$ นักเทียบท่ารัน --rm -d -p 8001:8000 --name whoami -t jwilder/whoami
64a5059666e0f3db12562a44edf576336f73fcecd5e7d86c1e739259e1ffd307
$ curl localhost:8001
ฉัน 6a82c9e7371e

หากใช้งานได้แสดงว่าอาจมีบางอย่างเกิดขึ้นบนโฮสต์ (อาจเป็น iptables ที่มีการเปลี่ยนเส้นทางพอร์ต)

Phillip avatar
je flag
ไม่ไม่ทำงาน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา