Score:0

คอนเทนเนอร์นักเทียบท่าไม่ได้ลงทะเบียนชื่อโฮสต์ใน DNS ภายในนักเทียบท่า

ธง jp

ฉันใช้ Docker เพื่อใช้บริการ Nextcloud สำหรับสิ่งนี้ ฉันใช้อิมเมจ Nextcloud-apache อย่างเป็นทางการ, Nginx reverse proxy, certbot และ MariaDB ไม่มีอะไรพิเศษจริงๆ

อินสแตนซ์นักเทียบท่าของฉันทำงานในโหมด swarm คอนเทนเนอร์ทั้งหมดทำงานร่วมกับผู้จัดการบนโฮสต์เดียวกันโดยมีเพียงหนึ่งแบบจำลองสำหรับแต่ละบริการ เครือข่ายโอเวอร์เลย์มาตรฐาน ฝูงเริ่มต้นโดยใช้ไฟล์เขียนมาตรฐาน

การตั้งค่าของฉันทำงานได้เสถียรมาหลายเดือน จนกระทั่งเมื่อคืนนี้ เมื่อมันพังอย่างลึกลับเท่าที่ฉันเห็นไม่มีการอัปเดตหรือรีสตาร์ทใด ๆ ไม่ใช่สำหรับ OS (Ubuntu Server LTS), Docker-CE หรืออิมเมจใด ๆ (ฉันทำการอัปเดตทั้งหมดด้วยตนเองเป็นระยะ ๆ และแน่นอนว่าฉันไม่ได้ทำการอัปเดตที่ 04.00 น. เมื่อคืนที่ผ่านมา) ฉันติดตามสาเหตุของคอนเทนเนอร์ Nextcloud (แต่ฉันคิดว่านี่เป็นปัญหาของนักเทียบท่า ดังนั้นคำถามของฉันที่นี่...):

บันทึกสำหรับพร็อกซีย้อนกลับของ Nginx แสดงบรรทัดต่อไปนี้:

2022/04/06 20:16:45 [ข้อผิดพลาด] 10#10: *3 nextcloud-app ไม่สามารถแก้ไขได้ (3: ไม่พบโฮสต์), ไคลเอ็นต์: 10.135.40.1, เซิร์ฟเวอร์: <redacted>, คำขอ: "GET / HTTP/1.1", โฮสต์: "<redacted>"

Nginx ไม่สามารถแก้ไขเซิร์ฟเวอร์ส่วนหลังและส่ง 502/Bad Gateway กลับไปยังไคลเอ็นต์

ฉันตรวจสอบแล้ว และชื่อโฮสต์สำหรับคอนเทนเนอร์ Nextcloud ("nextcloud-app") ไม่ได้ลงทะเบียนใน DNS ภายในนักเทียบท่า (มีให้ภายใต้ 127.0.0.11 ในแต่ละคอนเทนเนอร์) ฉันสามารถลงชื่อเข้าใช้คอนเทนเนอร์ใดก็ได้และปิดคำขอ DNS (หลังจากเรียกใช้ หลังจาก apt-get update && apt-get install iputils-ping dnsutils ภายในคอนเทนเนอร์) ชื่อ "nextcloud-app" จะไม่ได้รับการแก้ไขที่ใดก็ได้ ตัวอย่าง:

root@nextcloud-app:/var/www/html# nslookup nextcloud-app
เซิร์ฟเวอร์: 127.0.0.11
ที่อยู่: 127.0.0.11#53

** เซิร์ฟเวอร์ไม่พบแอป cloud ถัดไป: NXDOMAIN

ชื่อคอนเทนเนอร์อื่นๆ ทั้งหมดจะแก้ไขตามที่ควร การแก้ไขที่อยู่ภายนอกก็ใช้งานได้เช่นกัน "nextcloud-app" คือ เท่านั้น ชื่อคอนเทนเนอร์ที่ไม่สามารถแก้ไขได้

อย่างไรก็ตามฉัน สามารถ ping ไปและกลับจากคอนเทนเนอร์แอป cloud ถัดไปโดยใช้ที่อยู่ IP ภายในนักเทียบท่าโดยตรง มีการเชื่อมต่ออยู่ที่นั่น มีเพียงการแก้ไข DNS เท่านั้นที่ล้มเหลว

ฉันไม่รู้ว่าจะแก้ไขข้อบกพร่องนี้ได้อย่างไร ฉันไม่ได้สัมผัสไฟล์ compos.yml เป็นเวลาหนึ่งสัปดาห์ เท่าที่ฉันรู้ ไม่มีอะไรเปลี่ยนแปลง แต่การติดตั้งก็หยุดทำงานในชั่วข้ามคืน

ฉันจะบังคับให้คอนเทนเนอร์ Nextcloud ลงทะเบียนชื่อโฮสต์ของตัวเองที่ DNS ภายในนักเทียบท่าได้อย่างไร ข้อเสนอแนะใด ๆ ที่ชื่นชม

Score:0
ธง jp

ฉันพบวิธีแก้ปัญหา คำตอบนี้สำหรับคนจนที่อาจประสบปัญหาเดียวกันในอนาคต

ปรากฎว่าไม่ใช่ปัญหานักเทียบท่าเลย Nextcloud เข้าสู่โหมดการบำรุงรักษาในตอนกลางคืน (สำหรับสาเหตุที่ยังไม่ทราบ จะต้องตรวจสอบต่อไป) ยังไงก็ตาม อิมเมจนักเทียบท่า Nextcloud ไม่สามารถลงทะเบียนตัวเองใน DNS ของนักเทียบท่า (เพราะข้อผิดพลาดในอิมเมจ?) เมื่ออยู่ในโหมดการบำรุงรักษาและสถานการณ์หยุดชะงัก: ไม่มีการแก้ไข DNS ไม่มีการเข้าถึง Nextcloud ผ่านพร็อกซีย้อนกลับ -> ไม่สังเกตว่า Nextcloud อยู่ในโหมดบำรุงรักษา --> อยู่ในโหมดบำรุงรักษาตลอดไป ไม่มีการแก้ไข DNS ...

ถ้าเพียงแต่ฉันคิดที่จะตรวจสอบว่า Nextcloud อยู่ในโหมดการบำรุงรักษาหรือไม่ อาจช่วยให้ฉันไม่ต้องแก้จุดบกพร่องและเกาศีรษะได้หลายชั่วโมง การนำ Nextcloud ออกจากโหมดการบำรุงรักษานั้นใช้เวลาไม่กี่นาที ตอนนี้รู้สึกงี่เง่านิดหน่อย ;-)

โพสต์คำตอบ

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