Tôi sử dụng Docker để triển khai dịch vụ Nextcloud. Đối với điều này, tôi sử dụng hình ảnh nextcloud-apache chính thức, proxy ngược Nginx, certbot và MariaDB. Không có gì đặc biệt, thực sự.
Phiên bản docker của tôi chạy ở chế độ bầy đàn. Tất cả các vùng chứa chạy cùng với trình quản lý trên cùng một máy chủ với chỉ một bản sao cho mỗi dịch vụ, (các) mạng lớp phủ tiêu chuẩn. Bầy đàn được bắt đầu bằng cách sử dụng tệp soạn thảo tiêu chuẩn.
Thiết lập của tôi đã chạy ổn định trong nhiều tháng, cho đến đêm qua, khi nó bị hỏng một cách bí ẩn.Theo những gì tôi thấy thì không có bản cập nhật hoặc khởi động lại nào, không phải cho HĐH (Ubuntu Server LTS), Docker-CE hoặc bất kỳ hình ảnh nào (tôi thực hiện tất cả các bản cập nhật của mình theo cách thủ công và tôi chắc chắn không thực hiện chúng tại 4 giờ sáng hôm qua). Tôi đã tìm ra nguyên nhân của bộ chứa Nextcloud (nhưng tôi nghĩ đây là sự cố Docker, do đó câu hỏi của tôi ở đây...):
Nhật ký cho proxy ngược Nginx hiển thị dòng sau:
2022/04/06 20:16:45 [lỗi] 10#10: *3 nextcloud-app không thể giải quyết được (3: Không tìm thấy máy chủ), máy khách: 10.135.40.1, máy chủ: <đã xử lý lại>, yêu cầu: "NHẬN / HTTP/1.1", máy chủ lưu trữ: "<đã biên tập lại>"
Nginx không thể giải quyết máy chủ phụ trợ và ném 502/Bad Gateway trở lại máy khách.
Tôi đã kiểm tra và tên máy chủ cho vùng chứa Nextcloud ("nextcloud-app") thực sự chưa được đăng ký trong DNS nội bộ docker (có sẵn theo 127.0.0.11 trong mỗi vùng chứa). Tôi có thể đăng nhập vào bất kỳ vùng chứa nào và thực hiện yêu cầu DNS (sau khi chạy sau khi cập nhật apt-get && apt-get cài đặt iputils-ping dnsutils
bên trong (các) vùng chứa), tên "nextcloud-app" không được xử lý ở bất kỳ đâu. Ví dụ:
root@nextcloud-app:/var/www/html# nslookup nextcloud-app
Máy chủ: 127.0.0.11
Địa chỉ: 127.0.0.11#53
** máy chủ không thể tìm thấy nextcloud-app: NXDOMAIN
Tất cả các tên vùng chứa khác sẽ giải quyết như bình thường. Giải quyết các địa chỉ bên ngoài cũng hoạt động. "nextcloud-app" là chỉ có tên vùng chứa không thể giải quyết.
Tuy nhiên, tôi có thể ping đến và từ bộ chứa ứng dụng nextcloud bằng cách sử dụng trực tiếp các địa chỉ IP nội bộ docker. Kết nối ở đó, chỉ có độ phân giải DNS không thành công.
Tôi không biết làm thế nào để gỡ lỗi này hơn nữa. Tôi đã không chạm vào tệp soạn thảo.yml của mình trong tuần. Theo như tôi biết, không có gì thay đổi. Tuy nhiên, thiết lập đã ngừng hoạt động qua đêm.
Làm cách nào tôi có thể buộc bộ chứa Nextcloud đăng ký tên máy chủ của chính nó tại DNS nội bộ docker? Bất kỳ đề nghị được đánh giá cao.