Score:0

ไม่สามารถเข้าถึงคอนเทนเนอร์ Docker จากคอนเทนเนอร์ Docker อื่นผ่านโฮสต์ IP

ธง sh

ฉันมีเซิร์ฟเวอร์ที่เปิดใช้งาน Wireguard VPN 10.0.1.254/24 และนักเทียบท่ากำลังทำงานอยู่ 172.17.0.1/16.

ของฉัน นักเทียบท่า-compose.yaml มีลักษณะดังนี้ (แบบย่อ):

บริการ:
  ตู้คอนเทนเนอร์_a:
    ภาพ: nginx: ล่าสุด
    พอร์ต:
      - '10.0.1.254:80:80'

  ตู้คอนเทนเนอร์_b:
    ภาพ: อัลไพน์:ล่าสุด

ตอนนี้ฉันสามารถเข้าถึง nginx โดยใช้ รับ http://10.0.1.254 บนโฮสต์ ฉันสามารถเข้าถึงได้ด้วยวิธีเดียวกันจากเพียร์ VPN (เช่น 10.0.1.1). แต่เมื่อฉันพยายามทำสิ่งนี้จากภายในคอนเทนเนอร์ Docker อื่น (เช่น นักเทียบท่าเขียน exec container_b wget http://10.0.1.254) ฉันได้รับการหมดเวลา อย่างไรก็ตาม ฉันสามารถ ping โฮสต์ (นักเทียบท่าเขียน exec container_b ping 10.0.1.254).

ฉันเดาว่าสิ่งนี้เกี่ยวข้องกับวิธีที่ Docker แมปพอร์ตบนโฮสต์ แต่ฉันไม่พบข้อมูลมากนักเกี่ยวกับเรื่องนี้ ไม่มีใครรู้ว่าทำไมสิ่งนี้ถึงใช้งานไม่ได้?

djdomi avatar
za flag
คุณแน่ใจหรือว่าใช้พอร์ตที่ถูกต้องและบริการที่กำลังทำงานอยู่
Score:0
ธง sh

ปรากฎว่าฉันยังคงติดตั้ง UFW ซึ่งได้รับการกำหนดค่าให้อนุญาตการเชื่อมต่อขาเข้ากับพอร์ตนี้บน wg0 อินเตอร์เฟซ. แต่ระบบก็ฉลาดพอที่จะใช้ทางลัดโดยตรงจากอินเทอร์เฟซ Docker เสมือนหนึ่งไปยังอีกอินเทอร์เฟซหนึ่ง โดยข้ามกฎ ACCEPT นี้สำหรับ wg0 อินเตอร์เฟซ.

ฉันคิดออกโดยใช้ หาง +1f /var/log/ufw.logแล้วเรียกใช้ความล้มเหลว ว้าว คำสั่งจากคอนเทนเนอร์ Docker อื่น

ในกรณีของฉัน วิธีแก้ไขคือปิดการใช้งาน UFW (sudo ufw ปิดการใช้งาน) เนื่องจากฉันไม่ได้ใช้มันอยู่แล้ว

โพสต์คำตอบ

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