Điểm:0

Docker container không đăng ký tên máy chủ trong docker-internal DNS

lá cờ jp

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.

Điểm:0
lá cờ jp

Tôi đã tìm ra giải pháp. Câu trả lời này dành cho anh chàng đáng thương có thể gặp phải vấn đề tương tự trong tương lai.

Hóa ra đó không phải là vấn đề docker. Nextcloud đã chuyển sang chế độ bảo trì trong đêm (vì lý do vẫn chưa rõ, sẽ phải điều tra điều đó tiếp theo). Bằng cách nào đó, hình ảnh docker Nextcloud không thể tự đăng ký trong DNS của Docker (vì hình ảnh có lỗi?) khi ở chế độ bảo trì và tình huống bị bế tắc: Không có độ phân giải DNS, không thể truy cập Nextcloud thông qua proxy ngược -> không nhận thấy rằng Nextcloud đang ở chế độ bảo trì -> ở chế độ bảo trì mãi mãi, không phân giải DNS, ...

Giá như tôi nghĩ đến việc kiểm tra xem Nextcloud có ở chế độ bảo trì hay không, nó có thể giúp tôi tiết kiệm được vài giờ gỡ lỗi và vò đầu bứt tai. Đưa Nextcloud ra khỏi chế độ bảo trì chỉ mất vài phút. Cảm thấy một chút ngu ngốc ngay bây giờ. ;-)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.