ฉันใช้ 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 ภายในนักเทียบท่าได้อย่างไร ข้อเสนอแนะใด ๆ ที่ชื่นชม