ส่งต่อการเชื่อมต่อ ssh ไปยังคอนเทนเนอร์นักเทียบท่าตามชื่อโฮสต์
ฉันเข้าสู่สถานการณ์ที่เฉพาะเจาะจงมากและแม้ว่าจะมีวิธีอื่นในการทำเช่นนี้ฉันก็รู้สึกหมกมุ่นอยู่กับสิ่งนี้และต้องการหาวิธีที่จะทำสิ่งนี้: พื้นหลัง สมมติว่าฉันมีเซิร์ฟเวอร์ที่ใช้งานบริการหลายอย่างที่ซ่อนตัวอยู่ในคอนเทนเนอร์นักเทียบท่าแยก เนื่องจากบริการเหล่านั้นส่วนใหญ่เป็น http ฉันจึงใช้พร็อกซี nginx เพื่อแสดงโดเมนย่อยเฉพาะสำหรับแต่ละบริการ ตัวอย่างเช่นเซิร์ฟเวอร์โหนดกำลังทำงานบนคอนเทนเนอร์นักเทียบท่าที่มีพอร์ตที่80ผูกไว้127.0.0.1:8000กับโฮสต์ ฉันจะสร้าง vhost ใน Nginx ที่ผู้รับมอบฉันทะคำขอทั้งหมดเพื่อmyapp.mydomain.com วิธีการที่ภาชนะนักเทียบท่าที่ไม่สามารถเข้าถึงได้จากภายนอกยกเว้นผ่านhttp://127.0.0.1:8000myapp.mydomain.com ตอนนี้ฉันต้องการเริ่มต้นตู้คอนเทนเนอร์gogs dockerในลักษณะที่gogs.mydomain.comชี้ไปที่ตู้ gogs ดังนั้นฉันจึงเริ่มต้นภาชนะ gogs นี้ด้วยพอร์ตที่8000ผูกไว้127.0.0.1:8001กับโฮสต์ และไซต์ nginx proxying ร้องขอไปgogs.mydomain.comยังhttp://127.0.0.1:8001และทำงานได้ดี ... อย่างไรก็ตาม, gogs เป็น git container, ฉันยังต้องการเข้าถึง repos อย่างเช่นผ่าน, git@gogs.mydomain.com:org/repoแต่มันไม่ทำงานกับการตั้งค่าปัจจุบัน วิธีหนึ่งที่จะทำให้การทำงานที่จะมีการผูกพอร์ต22ของภาชนะไปยังท่าเรือ0.0.0.0:8022ในพื้นที่และจากนั้น URL SSH git@gogs.mydomain.com:8022/repoคอมไพล์สามารถเป็นสิ่งที่ชอบ (ดูเหมือนจะไม่ทำงานเมื่อฉันกดไปที่ต้นกำเนิดที่มี uri เช่นนั้น git ต้องการรหัสผ่านสำหรับผู้ใช้gitบนgogs.mydomain.com- แทนgogs.mydomain.com:8022- แต่นั่นอาจเป็นสิ่งที่ฉันทำผิดและอยู่นอกขอบเขตสำหรับคำถามนี้อย่างไรก็ตาม ฉันจะขอบคุณการวินิจฉัยใด ๆ เช่นกัน) ปัญหา …