Hướng dẫn cách khắc phục lỗi Docker daemon is not running chi tiết

Đã kiểm duyệt nội dung
Đánh giá
Lỗi Docker daemon is not running thường xuất hiện khi dịch vụ Docker nền không hoạt động hoặc không thể truy cập, khiến mọi lệnh Docker đều bị gián đoạn và ảnh hưởng trực tiếp tới quá trình triển khai ứng dụng container. Trong bài viết này, bạn sẽ nắm rõ khái niệm, nguyên nhân và các bước xử lý chi tiết để chủ động khắc phục lỗi Docker daemon is not running đảm bảo hệ thống luôn vận hành ổn định.
Những điểm chính
- Khái niệm Docker daemon is not running: Hiểu rõ lỗi Docker daemon is not running là sự cố do dịch vụ Docker nền không hoạt động hoặc không thể truy cập, từ đó xác định đúng bản chất vấn đề.
- Nguyên nhân phổ biến: Do dịch vụ Docker chưa được khởi động, tài khoản thiếu quyền truy cập socket, cấu hình sai file daemon.json hoặc ứng dụng Docker Desktop chưa được mở.
- Khắc phục trên Linux: Cần khởi động dịch vụ bằng lệnh systemctl, thêm người dùng vào nhóm docker để cấp quyền và xử lý các vấn đề liên quan đến file socket.
- Khắc phục trên Windows: Đảm bảo Docker Desktop đang chạy dưới quyền Administrator, kiểm tra trạng thái trong Windows Services và cập nhật kernel cho WSL 2.
- Kiểm tra nâng cao: Rà soát lại Docker Context, biến môi trường DOCKER_HOST, file cấu hình và xem nhật ký lỗi (logs) để xử lý các xung đột hệ thống.
- Tìm hiểu về Enterprise Cloud của Vietnix, giải pháp hạ tầng hiệu năng cao cho doanh nghiệp.
- Câu hỏi thường gặp: Gải đáp các thắc mắc về cách xử lý lỗi trên nhiều hệ điều hành và ý nghĩa các thông báo liên quan.

Lỗi Docker daemon is not running là gì?
Lỗi Docker daemon is not running là thông báo xuất hiện khi Docker client không thể thiết lập kết nối với Docker daemon (dịch vụ nền dockerd). Docker daemon đóng vai trò là trung tâm điều khiển của hệ thống Docker, chịu trách nhiệm quản lý các container, image, network và volume. Khi dịch vụ này không hoạt động, người dùng sẽ không thể thực thi các lệnh như docker run, docker build hay docker ps.

Khi gặp sự cố này, người dùng thường thấy các thông báo lỗi cụ thể như sau trên màn hình terminal hoặc console:
- Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
- Docker daemon is not running.
- error during connect: This error may also indicate that the docker daemon is not running.
Để các container và Docker daemon vận hành ổn định, không gặp lỗi gián đoạn dịch vụ, Enterprise Cloud Vietnix là giải pháp hạ tầng lý tưởng. Với cụm tài nguyên riêng biệt trên nền tảng CPU AMD EPYC và ổ cứng NVMe Enterprise, dịch vụ đảm bảo tốc độ truy xuất cực nhanh và khả năng chịu tải cao. Kiến trúc High Availability giúp hệ thống luôn sẵn sàng, loại bỏ rủi ro downtime, hỗ trợ doanh nghiệp triển khai các dự án Docker, Kubernetes một cách chuyên nghiệp và linh hoạt.

Nguyên nhân gây ra lỗi Docker daemon is not running
Có nhiều lý do khiến dịch vụ Docker không phản hồi. Dưới đây là các nguyên nhân phổ biến nhất:
- Dịch vụ Docker daemon chưa được khởi động hoặc đã bị dừng: Sau khi cài đặt Docker hoặc sau mỗi lần khởi động lại hệ điều hành, dịch vụ Docker Engine có thể chưa được bật, dẫn đến việc Docker CLI không thể kết nối tới daemon và sinh lỗi.
- Thiếu quyền truy cập: Chỉ tài khoản root hoặc người dùng thuộc nhóm docker mới có quyền tương tác với socket của Docker. Nếu tài khoản hiện tại không có quyền này, lệnh docker sẽ bị từ chối kết nối dù daemon vẫn đang chạy.
- Cấu hình Docker hoặc hệ thống bị sai: Các lỗi trong file cấu hình daemon.json, cấu hình service, xung đột port, vấn đề firewall/VPN hoặc lỗi hệ thống tệp có thể khiến Docker daemon không khởi động được hoặc hoạt động không ổn định.
- Xung đột tài nguyên: Cổng mà Docker cần sử dụng đang bị chiếm dụng bởi một ứng dụng khác.
- Ứng dụng Docker Desktop chưa mở: Trên Windows hoặc macOS, Docker hoạt động thông qua ứng dụng Desktop, lỗi xảy ra nếu ứng dụng này chưa được bật.

Cách sửa lỗi Docker daemon is not running trên Linux
Dưới đây là các phương pháp xử lý phổ biến nhất trên hệ điều hành Linux (Ubuntu, CentOS, Debian,…).
Khởi động và kích hoạt dịch vụ Docker
Nguyên nhân thường gặp nhất là dịch vụ Docker chưa chạy. Bạn cần sử dụng systemd để khởi động lại dịch vụ này.
- Khởi động dịch vụ ngay lập tức:
sudo systemctl start docker- Cấu hình tự khởi động khi bật máy:
sudo systemctl enable docker- Kiểm tra trạng thái: Bạn hãy chạy lệnh sau để đảm bảo trạng thái hiển thị là active (running):
sudo systemctl status dockerCấp quyền cho người dùng
Nếu Docker đang chạy nhưng bạn vẫn gặp lỗi khi gõ lệnh (thường đi kèm thông báo permission denied), nguyên nhân là do tài khoản của bạn chưa thuộc nhóm docker.
- Thêm người dùng hiện tại vào nhóm docker:
sudo usermod -aG docker $USER- Áp dụng thay đổi: Bạn cần đăng xuất và đăng nhập lại hệ thống, hoặc chạy lệnh sau để cập nhật nhóm ngay lập tức:
newgrp dockerKiểm tra và xử lý file Socket
Docker daemon giao tiếp qua một file socket (thường là /var/run/docker.sock). Nếu file này bị lỗi hoặc sai quyền, kết nối sẽ thất bại.
- Kiểm tra quyền của file socket: Bạn hãy chạy lệnh:
ls -l /var/run/docker.sockNếu file này chỉ cho phép root, bạn cần thực hiện bước cấp quyền ở trên hoặc dùng sudo trước mỗi lệnh Docker.
- Kiểm tra biến môi trường: Bạn cần đảm bảo Docker client đang trỏ đúng socket bằng lệnh:
docker context inspect --format '{{ .Endpoints.docker.Host }}'- Xóa file Socket để hệ thống tự tạo lại:
Dừng dịch vụ Docker:
sudo service docker stop
Xóa tập tin socket hiện tại:
sudo rm /var/run/docker.sock
Khởi động lại dịch vụ Docker:
sudo service docker startCách sửa lỗi Docker daemon is not running trên Windows
Đối với người dùng Docker Desktop trên Windows, quy trình xử lý sẽ tập trung vào giao diện ứng dụng và các service nền của Windows.
Khởi động lại Docker Desktop
Docker Desktop cần được bật và chạy ở trạng thái active (biểu tượng cá voi trên thanh taskbar không bị xám).
- Mở ứng dụng: Bạn hãy tìm Docker Desktop trong Start Menu và mở ứng dụng lên. Hãy đợi vài phút để engine khởi động hoàn tất.
- Chạy với quyền Admin: Nếu ứng dụng không phản hồi, bạn hãy tắt hoàn toàn Docker, sau đó click chuột phải vào icon Docker Desktop và chọn Run as administrator.
Kiểm tra Windows Services
Đôi khi ứng dụng Docker Desktop đã bật nhưng service nền của Windows lại bị dừng. Bạn thực hiện theo bước sau để sửa lỗi:
- Bước 1: Bạn nhấn tổ hợp phím Windows + R, gõ services.msc và nhấn Enter.
- Bước 2: Bạn tìm mục có tên Docker Desktop Service.
- Bước 3: Bạn click chuột phải vào mục đó và chọn Start hoặc Restart.
Cập nhật và kiểm tra WSL 2
Nếu bạn sử dụng backend là WSL 2, lỗi kernel Linux có thể khiến Docker không chạy được.
- Cập nhật Kernel: Bạn hãy mở PowerShell với quyền Administrator và chạy lệnh:
wsl --update. - Kiểm tra tích hợp: Trong Docker Desktop, bạn vào Settings > Resources > WSL Integration và đảm bảo bản phân phối Linux (như Ubuntu) của bạn đã được bật tích hợp.
Các bước kiểm tra và xử lý nâng cao
Nếu các cách trên chưa giải quyết được vấn đề, bạn hãy thực hiện các bước rà soát chi tiết sau:
Kiểm tra Docker Context
Đôi khi Docker client đang kết nối đến một remote host không tồn tại thay vì máy cục bộ. Bạn hãy kiểm tra và chuyển về mặc định:
docker context ls
docker context use defaultKiểm tra biến môi trường DOCKER_HOST
Bạn hãy chạy lệnh sau để kiểm tra biến môi trường:
env | grep DOCKER_HOST.Nếu biến này đang được thiết lập sai, bạn cần hủy bỏ bằng lệnh unset DOCKER_HOST hoặc chỉnh sửa lại file cấu hình shell (như .bashrc hoặc .profile).
Xử lý xung đột cấu hình
Bạn cần kiểm tra file /etc/docker/daemon.json. Nếu file này chứa các cấu hình trùng lặp hoặc sai cú pháp, Docker sẽ không thể khởi động. Bạn hãy thử đổi tên file này để backup và khởi động lại Docker để xem lỗi có được khắc phục hay không.
Xem nhật ký lỗi (Logs)
Để biết chính xác lỗi gì đang xảy ra bên trong, bạn hãy xem log của dịch vụ:
journalctl -u docker.serviceThông tin từ log sẽ giúp bạn xác định xem có phải do xung đột cổng, lỗi firewall hay thiếu tài nguyên hệ thống hay không.
Enterprise Cloud – Nền tảng Cloud Server dành cho doanh nghiệp
Enterprise Cloud của Vietnix là hạ tầng Cloud Server thế hệ mới, cung cấp cụm tài nguyên riêng biệt (CPU, RAM, Storage) giúp doanh nghiệp toàn quyền khởi tạo và quản lý VPS/Cloud Server một cách chủ động, linh hoạt như sở hữu hạ tầng riêng. Enterprise Cloud được xây dựng trên nền tảng CPU AMD EPYC hiện đại, ổ cứng NVMe tốc độ cao và kiến trúc HA.
Dịch vụ mang lại hiệu năng mạnh, độ ổn định cao, phù hợp cho các hệ thống quan trọng của doanh nghiệp. Với mô hình IaaS, giao diện quản trị trực quan, hỗ trợ API – Kubernetes và chi phí cố định, minh bạch, Enterprise Cloud là lựa chọn tối ưu để mở rộng hạ tầng, tối ưu chi phí và đảm bảo an toàn vận hành dài hạn.
Thông tin liên hệ:
- Website: https://vietnix.vn/
- Hotline: 1800 1093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh
Câu hỏi thường gặp
Docker daemon is not running trên Ubuntu là gì và sửa thế nào?
Trên Ubuntu, lỗi này thường do dịch vụ Docker chưa chạy hoặc chưa enable khởi động cùng hệ thống; hãy kiểm tra trạng thái và khởi động lại Docker bằng systemd, đồng thời kiểm tra quyền truy cập socket /var/run/docker.sock.
Docker daemon is not running trên macOS khắc phục ra sao?
Trên Mac, cần đảm bảo Docker Desktop đang mở và engine ở trạng thái running, sau đó kiểm tra lại lệnh Docker trong Terminal và xem có cấu hình sai biến môi trường như DOCKER_HOST hay không.
Docker daemon is not running trên Windows / Windows 11 xử lý thế nào?
Trên Windows, hãy kiểm tra Docker Desktop đã chạy, WSL2 được bật và tích hợp với bản phân phối Linux, tránh chạy Docker trong môi trường không được hỗ trợ như WSL1 hoặc Windows Home thiếu cấu hình cần thiết.
Docker daemon is not running trên Linux nói chung là do đâu?
Trên các distro Linux, lỗi thường xuất phát từ daemon chưa chạy, chưa enable, cấu hình daemon.json sai hoặc xung đột port/dịch vụ; cần kiểm tra trạng thái dịch vụ, log docker.service và cấu hình daemon.
Thông báo “Is the Docker daemon running?” nghĩa là gì?
Đây là thông báo cho biết Docker client không thể kết nối tới daemon tại endpoint cấu hình (thường là unix:///var/run/docker.sock hoặc một TCP host), có thể do daemon tắt, sai endpoint hoặc lỗi quyền.
Dòng lỗi “This error may indicate that the docker daemon is not running” nói về điều gì?
Thông báo này cho thấy một trong các vấn đề: daemon chưa khởi động, client đang trỏ tới host khác không truy cập được, hoặc socket/host mục tiêu không tồn tại hay bị chặn bởi cấu hình mạng.
Lỗi “Cannot connect to the docker daemon at unix:///var/run/docker.sock” thường do nguyên nhân nào?
Nguyên nhân phổ biến là Docker daemon không chạy, socket /var/run/docker.sock không tồn tại, sai quyền, hoặc client đang dùng biến DOCKER_HOST/context trỏ nhầm tới socket khác.
Hy vọng các phương pháp khắc phục lỗi docker daemon is not running trên đã giúp hệ thống của bạn hoạt động ổn định trở lại. Nếu bạn vẫn gặp khó khăn trong quá trình cài đặt hoặc vận hành Docker, hãy để lại ý kiến dưới phần bình luận để được hỗ trợ. Bên cạnh đó, bạn có thể tham khảo thêm các bài viết chuyên sâu về kỹ thuật lập trình và quản trị hệ thống dưới đây:
THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM
Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày















