Chào bạn, Bình từ MeCode! 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.

Video hướng dẫn chi tiết Fix N8N DNS Error
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:
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é
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:
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