Lỗi "docker: command not found" Là Gì?
Lỗi này xảy ra khi terminal (cụ thể là Bash shell) không thể tìm thấy lệnh docker. Thường thì nguyên nhân là do Docker chưa được cài đặt, hoặc cài rồi nhưng hệ thống không biết vị trí của nó.
Nguyên Nhân Phổ Biến Gây Ra Lỗi
Dưới đây là 5 lý do phổ biến khiến hệ thống không nhận ra lệnh docker:
-
Docker chưa được cài đặt: Đây là lý do phổ biến nhất.
-
Đường dẫn không đúng trong biến môi trường: Nếu hệ thống không biết Docker nằm ở đâu thì bạn sẽ không thể chạy lệnh docker.
-
Shell chưa được reload: Sau khi cài Docker hoặc chỉnh cấu hình, nếu không cập nhật lại phiên làm việc (session) thì hệ thống có thể vẫn không nhận ra lệnh.
-
Cài đặt không hoàn tất: Có thể Docker bị lỗi trong quá trình cài đặt.
-
Thiếu quyền thực thi: Docker có thể yêu cầu quyền sudo hoặc cấu hình quyền đặc biệt để chạy.
Tham khảo thêm các lỗi tương tự khác tại: "bash: command not found" để hiểu sâu hơn về các vấn đề liên quan đến môi trường Bash.
4 Cách Khắc Phục Lỗi Docker Command Not Found
Cách 1: Cài đặt lại Docker
Thông thường, lỗi này xảy ra do Docker chưa được cài hoặc cài sai. Nếu đã từng cài Docker nhưng vẫn gặp lỗi, bạn nên gỡ sạch Docker bằng:
sudo apt autoremove docker
Sau đó thực hiện cài đặt theo các bước sau (áp dụng cho Ubuntu):
Bước 1: Cập nhật danh sách gói:
sudo apt-get update
Bước 2: Cài đặt gói hỗ trợ:
sudo apt-get install ca-certificates curl
Bước 3: Tạo thư mục chứa key và tải khóa GPG:
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc
Bước 4: Thêm Docker vào danh sách nguồn cài đặt:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \ https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$UBUNTU_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update
Bước 5: Cài đặt Docker:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Bước 6: Kiểm tra cài đặt:
sudo docker run hello-world
Nếu bạn không sử dụng Ubuntu, hãy tham khảo hướng dẫn chính thức tại trang chủ Docker.
Cách 2: Thêm Docker vào Biến Môi Trường PATH
Nếu hệ thống không biết Docker ở đâu, bạn cần thêm đường dẫn của Docker vào biến PATH.
Bước 1: Mở Terminal với tổ hợp CTRL + ALT + T.
Bước 2: Kiểm tra vị trí của Docker:
which docker
Bước 3: Mở file cấu hình shell:
nano ~/.bashrc
Bước 4: Thêm dòng sau vào cuối file (thay /usr/bin/docker bằng kết quả bạn vừa tìm được):
export PATH=$PATH:/usr/bin/docker
Bước 5: Lưu lại (CTRL + S) và thoát (CTRL + X).
Bước 6: Áp dụng thay đổi:
source ~/.bashrc
Bước 7: Kiểm tra lại:
docker --version
Cách 3: Khởi Động Docker Daemon
Sau khi cài Docker mà vẫn chưa chạy được, có thể daemon của Docker chưa được kích hoạt.
Khởi động Docker bằng lệnh:
sudo service docker start
Sau đó kiểm tra lại:
docker --version
Cách 4: Tạo Liên Kết Tượng Trưng (Symbolic Link)
Liên kết tượng trưng giúp bạn gọi Docker từ bất kỳ đâu mà không cần nhập đường dẫn đầy đủ.
Bước 1: Tìm vị trí của Docker:
whereis docker
Bước 2: Tạo symbolic link:
sudo ln -s /usr/bin/docker /bin/docker
Thay /usr/bin/docker bằng đường dẫn thực tế bạn tìm được ở bước 1.
Sau khi tạo xong, bạn có thể dùng lệnh docker một cách bình thường.
Câu Hỏi Thường Gặp
1. Sử dụng phiên bản Docker cũ có gây lỗi "docker: command not found" không?
Có. Các phiên bản cũ hoặc không tương thích có thể dẫn đến lỗi này.
2. Lỗi này có xảy ra khi dùng shell khác ngoài Bash không?
Có thể. Một số shell như Zsh hoặc Fish có thể không chia sẻ cấu hình PATH giống Bash, nên cần thiết lập riêng.
Nếu bạn làm theo đúng 4 cách trên, lỗi bash: docker: command not found sẽ được giải quyết triệt để. Nếu vẫn gặp vấn đề, hãy kiểm tra lại quá trình cài đặt hoặc thử khởi động lại hệ thống.