
Mục lục · 20
Cài Ollama trên Linux, Windows và Docker, làm thật trên hai máy thuê ngày 10/10/2026: lệnh nào, mất bao lâu, chạy nhanh đến đâu, vì sao container mới nạp model mất gần một phút và cách sửa, cổng 11434 mở ra ngoài khi nào. macOS ghi theo tài liệu chính thức.
Cài Ollama trên Linux chỉ cần một lệnh curl -fsSL https://ollama.com/install.sh | sh. Trên Windows và macOS bạn tải bộ cài từ ollama.com. Với Docker thì chạy image ollama/ollama, và phải nhớ thêm --gpus=all nếu muốn dùng card NVIDIA. Cài xong, Ollama chạy nền ở cổng 11434.
Mình cài thử trên ba môi trường ngày 10/10/2026: Ubuntu 24.04 với RTX 3090, Docker trên chính máy đó, và Windows 10 với Tesla P40. Cả hai máy đều thuê theo giờ. Bản Ollama là 0.40.2, model thử là qwen3.5:9b. Vài kết quả đáng chú ý:
Trên Linux, script cài xong trong 26 giây. Bản Docker phải tải image 9,36GB, còn bộ cài Windows nặng 1,5GB.
Chạy Docker mà quên
--gpus=all, Ollama không báo lỗi gì, cứ thế chạy bằng CPU với 4,9 token/giây, chậm hơn khoảng 16 lần so với khi dùng GPU.Lần đầu chạy model sau khi cài mất 57 giây chỉ để nạp. Với Docker, mỗi lần tạo container mới là lại mất 57 giây, trừ khi bạn giữ lại thư mục cache CUDA.
Cài bằng Docker thì cổng 11434 mở cho mọi địa chỉ. Cài bằng script thì Ollama chỉ nhận kết nối từ chính máy đó.
Chưa rõ Ollama là gì thì đọc bài Ollama là gì trước. Bài này chỉ bàn chuyện cài và chạy cho đúng.
Chọn cách nào: script, bộ cài hay Docker?
Cách cài | Hợp với | Mình đã thử |
|---|---|---|
Script trên Linux | Máy chủ, máy thuê GPU | Có, Ubuntu 24.04 + RTX 3090 |
Bộ cài Windows | Máy Windows có card NVIDIA hoặc AMD | Có, Windows 10 + Tesla P40 |
Ứng dụng macOS | MacBook, Mac mini chip M | Chưa, ghi theo tài liệu |
Docker | Máy đã chạy nhiều dịch vụ bằng Docker, cần tách biệt | Có, cùng máy RTX 3090 |
Mình chọn theo một nguyên tắc: máy chỉ để chạy model thì cài thẳng bằng script hoặc bộ cài. Docker chỉ đáng dùng khi máy đã chạy sẵn các dịch vụ khác bằng Docker, ví dụ n8n hay Open WebUI, và bạn muốn mọi thứ nằm chung một file compose.

Docker có GPU chỉ chậm hơn cài thẳng khoảng 2%, chênh lệch không đáng kể. Con số trên Windows thấp hơn vì máy đó dùng Tesla P40, card đời cũ hơn RTX 3090 hai thế hệ, chứ không phải tại Windows.
Cài Ollama trên Linux bằng script
Trên Ubuntu, Debian, Fedora, chạy một lệnh duy nhất (cần quyền sudo):
curl -fsSL https://ollama.com/install.sh | sh
Script tạo user ollama, thêm user đó vào nhóm render và video, tạo service systemd rồi khởi động luôn. Nó cũng tự nhận ra card NVIDIA. Trên máy mình, toàn bộ việc này mất 26,1 giây, thư viện chiếm 2,1GB ở /usr/local/lib/ollama.

Kiểm tra lại bằng ba lệnh:
ollama -v
systemctl status ollama
ollama run qwen3.5:9b --verbose "Giải thích ngắn gọn Docker là gì?"
Muốn nâng cấp thì chạy lại đúng lệnh cài. Trên Windows mà thích môi trường Linux thì WSL2 cũng dùng lệnh này, phần đó mình chưa thử.
Lần chạy đầu tiên sau khi cài sao chậm thế?
Lần đầu mình chạy model, ollama run mất 1 phút 40 giây, trong đó 58 giây chỉ để nạp model. Lần thứ hai thì chưa tới 2 giây.

Lúc đầu mình nghĩ do đĩa chậm. Đo lại thì đĩa đọc được 2,3GB/s. Xóa cache đĩa rồi nạp lại cũng chỉ mất 8,8 giây, còn khi cache đĩa vẫn còn thì 4,4 giây. Thủ phạm thật là thư mục ~/.nv/ComputeCache: lần đầu chạy trên một máy, driver NVIDIA biên dịch kernel CUDA rồi lưu vào đây (khoảng 64MB). Từ lần sau nó dùng lại bản đã biên dịch.
Cài thẳng trên máy thì bạn chỉ chịu 57 giây này một lần. Với Docker thì khác, xem mục dưới.
Cài Ollama bằng Docker có GPU NVIDIA
Máy cần có NVIDIA Container Toolkit trước. Image "Ubuntu 24.04 AI" của AIDev Cloud có sẵn và đã cấu hình cho Docker. Máy khác thì cài theo hướng dẫn Docker của Ollama. Lệnh chạy:
docker run -d --gpus=all -v ollama:/root/.ollama -v ollama-nv:/root/.nv \
-p 127.0.0.1:11434:11434 --name ollama ollama/ollama
docker exec -it ollama ollama run qwen3.5:9b
So với lệnh trong tài liệu chính thức, mình thêm hai thứ, cả hai đều rút ra từ chuyện gặp khi thử:
-v ollama-nv:/root/.nvđể giữ cache CUDA giữa các container (đã đo, xem bên dưới).127.0.0.1:trước cổng để Ollama không mở ra ngoài. Đây là cách gắn cổng chuẩn của Docker, mình dùng y như vậy cho n8n trong bài tự host n8n. Riêng với container Ollama, mình đo cổng ở dạng mặc định-p 11434:11434.
Quên --gpus=all thì sao?
Ollama vẫn chạy bình thường, không báo lỗi. ollama ps ghi 100% CPU, context chỉ còn 4096 thay vì 32768, tốc độ 4,92 token/giây. Thêm --gpus=all thì lên 76,9 token/giây và ollama ps ghi 100% GPU.

Nếu thấy Ollama trong Docker chậm bất thường, việc đầu tiên là gõ docker exec ollama ollama ps và xem cột PROCESSOR.
Container mới lại nạp model mất 57 giây
Mình chạy docker restart ollama thì model nạp lại trong 4,5 giây. Nhưng xóa container rồi tạo container mới, vẫn dùng volume ollama, thì lại mất 57,6 giây. Lý do: /root/.nv/ComputeCache nằm trong container, không nằm trong volume, nên bị xóa theo container.
Gắn thêm volume cho thư mục đó là hết: lần đầu vẫn 57,7 giây, nhưng tạo lại container lần hai, lần ba chỉ còn 4,4 giây. Ai cập nhật image Ollama thường xuyên sẽ thấy khác biệt ngay, vì mỗi lần docker pull rồi tạo lại container là một lần mất gần một phút.

Cổng 11434 có bị lộ ra Internet không?
Có, nếu bạn chạy Docker với -p 11434:11434 như trong tài liệu. Docker mở cổng cho mọi địa chỉ (0.0.0.0), và Ollama không có mật khẩu. Ai gọi tới được IP máy là liệt kê và dùng được model của bạn.

Cài bằng script thì ngược lại: Ollama chỉ nghe ở 127.0.0.1, máy khác không gọi vào được. Muốn mở cho máy khác trong mạng nội bộ, chạy sudo systemctl edit ollama, thêm hai dòng sau rồi sudo systemctl restart ollama:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Mình thử bằng cách tạo file /etc/systemd/system/ollama.service.d/override.conf có đúng hai dòng trên (lệnh systemctl edit cũng tạo ra chính file này). Khởi động lại xong, Ollama nghe ở mọi địa chỉ và gọi qua IP máy trả 200. Chỉ nên làm vậy khi máy nằm sau firewall hoặc reverse proxy có xác thực. Dùng máy thuê có IP công khai thì cách an toàn hơn là SSH tunnel, hướng dẫn trong bài Ollama là gì, mục lỗi số 3.
Ollama trên Windows: cài thế nào?
Theo tài liệu Ollama, Windows cần bản 10 22H2 trở lên, driver NVIDIA từ 551.61. Bộ cài không cần quyền Administrator, cài vào thư mục người dùng. Có hai cách: tải OllamaSetup.exe từ ollama.com rồi bấm đúp, hoặc chạy lệnh sau trong PowerShell:
irm https://ollama.com/install.ps1 | iex
Mình dùng cách 1 trên máy Windows 10 IoT Enterprise LTSC 21H2, tức là bản cũ hơn mức tài liệu yêu cầu, nhưng vẫn cài được:
Bộ cài nặng 1.505MB, tải hết 17,8 giây.
Cài chế độ im lặng (
/VERYSILENT) hết 98 giây.Model nằm trong
%HOMEPATH%\.ollama, log nằm trong%LOCALAPPDATA%\Ollama.

Vì mình điều khiển máy qua SSH, không có màn hình desktop, nên ứng dụng ở khay hệ thống không tự mở, và ollama -v báo could not connect to a running Ollama instance. Trên máy có màn hình thì ứng dụng tự chạy sau khi cài. Mình phải chạy ollama serve bằng tay. Sau đó qwen3.5:9b chạy hoàn toàn trên GPU (33/33 layer) với 37,4 token/giây. Lần nạp đầu mất 40,7 giây, các lần sau 6,1 giây.
Ollama trên macOS
Phần này mình chưa thử. Theo tài liệu macOS của Ollama:
Cần macOS 14 Sonoma trở lên.
Máy chip M dùng được cả GPU, máy Intel chỉ chạy CPU.
Cài bằng cách mở file
ollama.dmgvà kéo ứng dụng vào thư mục Applications.Model nằm ở
~/.ollama.
Mac chip M dùng chung RAM cho CPU và GPU, nên dung lượng RAM của máy quyết định chạy được model cỡ nào. Tốc độ trên Mac mình chưa đo nên không đưa số.
Gỡ Ollama trên Linux
Mình gỡ theo đúng các lệnh trong tài liệu, máy trống thêm 9GB (model 6,2GB, thư viện 2,1GB):
sudo systemctl stop ollama && sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
sudo rm -r $(which ollama | tr 'bin' 'lib')
sudo rm $(which ollama)
sudo userdel ollama && sudo groupdel ollama
sudo rm -r /usr/share/ollama
Lệnh userdel in ra userdel: group ollama not removed because it has other members. vì script cài đã thêm user của bạn vào nhóm ollama. Không sao, lệnh groupdel ngay sau đó vẫn xóa được nhóm. Bản Docker thì nhớ xóa thêm volume: docker volume rm ollama ollama-nv.
Những lỗi mình gặp khi cài đặt
Lỗi | Nguyên nhân | Cách sửa |
|---|---|---|
Lần nạp đầu mất 57 giây | Driver biên dịch kernel CUDA lần đầu | Chờ một lần; Docker thì gắn volume |
Docker chậm, | Quên | Tạo lại container với |
Gọi | Bản cài script chỉ nghe 127.0.0.1 | Đặt |
Windows: | Ứng dụng khay chưa chạy | Mở Ollama từ Start menu hoặc |
| User của bạn còn trong nhóm | Chạy tiếp |
Nguyên văn lỗi khi gọi Ollama từ máy khác mà nó chỉ nghe localhost:
curl: (7) Failed to connect to 10.11.30.14 port 11434 after 0 ms: Couldn't connect to server
Và trên Windows khi ứng dụng chưa chạy:
Warning: could not connect to a running Ollama instance
Warning: client version is 0.40.2
Khi nào không nên chạy Ollama bằng Docker?
Máy chỉ dùng để chạy model. Cài thẳng nhanh hơn một chút, không phải tải image 9,36GB, không lo quên
--gpus=all.Bạn không quen đọc
docker ps,docker logs. Khi Ollama chạy bằng CPU, chỉ cóollama pscho bạn biết, ngoài ra không có dấu hiệu gì.Máy đã cài Ollama thẳng rồi. Volume của Docker lưu model riêng, mình phải tải lại qwen3.5:9b (6,55GB) dù máy đã có sẵn bản cài thẳng.
Câu hỏi thường gặp
Cài Ollama có miễn phí không?
Có. Ollama là phần mềm mã nguồn mở giấy phép MIT, không cần tài khoản. Model tải về miễn phí, mỗi model có giấy phép riêng, nên đọc trước khi dùng cho việc thương mại.
Máy không có card rời thì cài Ollama được không?
Được, Ollama tự chạy bằng CPU. Trong bài, CPU 25 nhân chỉ được 4,9 token/giây với model 9B. Máy văn phòng nên chọn model nhỏ cỡ 1 đến 4B, hoặc thuê GPU theo giờ khi cần.
Cài Ollama trên Windows có cần quyền Administrator không?
Không. Bộ cài đặt vào %LOCALAPPDATA%\Programs\Ollama của tài khoản đang dùng và tự thêm vào PATH. Muốn cài chỗ khác thì chạy OllamaSetup.exe /DIR="D:\Ollama".
Cập nhật Ollama thế nào?
Linux chạy lại lệnh cài. Windows và macOS tự tải bản mới, bạn bấm "Restart to update" ở biểu tượng khay. Docker thì docker pull ollama/ollama rồi tạo lại container, nhớ có volume /root/.nv để khỏi chờ 57 giây.
Đọc tiếp
Ollama là gì: chạy model đầu tiên, cần bao nhiêu VRAM, gọi Ollama từ code.
AI Local: chạy LLM và AI tạo ảnh trên máy bạn: chọn card, mua hay thuê GPU.
n8n là gì: nối Ollama vào workflow tự động, lỗi
127.0.0.1trong container.
Máy chưa có card NVIDIA thì AIDev Cloud cho thuê theo giờ. Ngày 10/10/2026, máy RTX 3090 dùng trong bài giá 15.000 đồng/giờ, máy Tesla P40 chạy Windows giá 7.000 đồng/giờ.
Thử ngày 10/10/2026 trên máy RTX 3090 (Ubuntu 24.04.4, driver 610.43, Docker 29.6.1) và máy Tesla P40 (Windows 10 IoT Enterprise LTSC 21H2, driver 576.57) của AIDev Cloud, Ollama 0.40.2, model qwen3.5:9b, think=false.
Về tác giả
Founder AIDev
Thạc sĩ AI MSE, tốt nghiệp thủ khoa với điểm 9,4/10. Đồng sáng lập, CTO E-University, SVOnline: số hóa 10+ đại học, 40.000+ sinh viên. Sáng lập AIDev và VietPlatform, xây hệ thống AI cho doanh nghiệp. Anh trực tiếp biên soạn và giảng dạy toàn bộ lộ trình AI Engineer.


