Chào bạn, Hôm nay chúng ta sẽ cùng nhau tìm hiểu cách khắc phục lỗi DNS trong n8n khi chạy trên môi trường Docker. Đây là một trong những vấn đề thỉnh thoảng nó lại bị, và bạn chẳng biết nó tại sao? chỉ biết là nó làm cho thực thi workflow bị lỗi.
Nguyên nhân
Lỗi DNS trong Docker thường xuất phát từ một số nguyên nhân chính:
-
DNS mặc định không ổn định: Docker có thể sử dụng DNS mặc định không đáng tin cậy.
-
Cấu hình mạng không phù hợp: Chế độ mạng mặc định của Docker có thể không cho phép container kết nối đúng cách
-
Firewall hoặc proxy: Chính sách bảo mật có thể chặn phân giải DNS.
Cách khắc phục
Với file cấu hình docker-compose.yml thường nằm trong thư mục cài đặt của n8n, như theo script cài tự động của Bình: /home/n8n/docker-compose.yml.
Bước 1: Tìm file docker-compose.yml
Bước 2: Điều chỉnh file docker-compose.yml
Mở file này bằng trình soạn thảo:
Lệnh:
| 1 | nano docker-compose.yml |
Bước 3: Thêm cấu hình DNS và Network
Chèn vào cấu hình như sau:
Chỉnh file docker-compose.yml:
Thêm mục dns và network mode như file dưới này.
Chú ý khoảng cách nhé
| 1 2 3 4 5 6 7 8 9 10 11 | services: n8n: image: n8nio/n8n container_name: n8n dns: - 8.8.8.8 # Google DNS - 8.8.4.4 # Google DNS backup network_mode: "bridge" |
Giải thích
-
8.8.8.8 và 8.8.4.4 là DNS công cộng của Google, được tin cậy và nhanh chóng.
-
bridge là loại mạng Docker cho phép các container giao tiếp linh hoạt.
Bước 4: Lưu file và khởi động lại Docker
-
Lưu thay đổi: Ctrl+O, Enter, Ctrl+X.
-
Khởi động lại:
| 1 2 | docker-compose down docker-compose up -d |
Bước 5: Kiểm tra kết quả
Bạn chạy và kiểm tra lỗi còn xuất hiện nữa không nhé.
Kết luận
Hi vọng hướng dẫn này sẽ giúp bạn khắc phục triệt để lỗi DNS trong n8n chạy trên Docker, để hệ thống của bạn hoạt động ổn định