Docker cho ứng dụng AI nội bộ là cách đóng gói từng ứng dụng như Ollama, Open WebUI, n8n hay cơ sở dữ liệu vector vào các container độc lập, chạy trên cùng một máy chủ. Nên dùng Docker vì: cài đặt bằng một file cấu hình thay vì làm tay nhiều bước; mỗi ứng dụng có môi trường riêng, không xung đột thư viện; cập nhật và quay lại bản cũ dễ dàng; sao lưu chỉ cần lưu thư mục dữ liệu và file cấu hình. Với GPU NVIDIA, cần cài thêm NVIDIA Container Toolkit để container dùng được GPU.
Docker cho ứng dụng AI là gì
Docker là nền tảng chạy ứng dụng trong container: một gói gồm ứng dụng và mọi thư viện nó cần, chạy tách biệt với phần còn lại của hệ thống nhưng dùng chung nhân hệ điều hành nên nhẹ hơn máy ảo nhiều.
Với AI nội bộ, Docker đặc biệt hữu ích vì các ứng dụng AI thường kéo theo nhiều thành phần:
- Máy chủ mô hình: Ollama, vLLM hoặc llama.cpp server.
- Giao diện người dùng: Open WebUI, AnythingLLM.
- Cơ sở dữ liệu: PostgreSQL, cơ sở dữ liệu vector như Qdrant cho RAG.
- Công cụ tự động hóa: n8n để nối AI với email, Google Sheets, phần mềm nội bộ.
- Reverse proxy: để có tên miền nội bộ, HTTPS và đăng nhập.
Cài tất cả trực tiếp lên một máy Windows hoặc Linux dễ dẫn đến xung đột phiên bản Python, Node.js, thư viện CUDA. Docker cho mỗi thành phần một “căn phòng” riêng, giao tiếp với nhau qua mạng nội bộ do Docker tạo ra.
Vì sao nên dùng Docker thay vì cài trực tiếp
Bảng dưới so sánh hai cách triển khai một bộ ứng dụng AI nội bộ gồm máy chủ mô hình, giao diện chat và công cụ tự động hóa.
| Tiêu chí | Cài trực tiếp | Dùng Docker |
|---|---|---|
| Thời gian dựng lại trên máy mới | Làm lại từng bước, dễ sót | Chép file cấu hình và dữ liệu, chạy một lệnh |
| Xung đột thư viện | Hay gặp khi nhiều ứng dụng | Mỗi container có môi trường riêng |
| Cập nhật phiên bản | Có thể làm hỏng ứng dụng khác | Đổi tag image, lỗi thì quay lại bản cũ |
| Sao lưu | Dữ liệu nằm rải rác | Gom vào volume và thư mục chỉ định |
| Tài liệu cấu hình | Nằm trong đầu người cài | Nằm trong file Compose |
| Độ phức tạp ban đầu | Thấp với một ứng dụng | Cần học khái niệm container, volume, mạng |
Một bộ ứng dụng AI nội bộ điển hình chạy bằng Docker
Ví dụ một công ty dịch vụ 30 người muốn có trợ lý AI nội bộ chạy trên một server có GPU. Bộ container gợi ý:
- ollama: chạy mô hình ngôn ngữ, được cấp GPU, lưu mô hình trong volume riêng.
- open-webui: giao diện chat cho nhân viên, kết nối tới ollama qua tên dịch vụ, có quản lý tài khoản và phân quyền.
- n8n: chạy workflow như tóm tắt email, phân loại yêu cầu, gửi báo cáo qua Telegram.
- postgres: cơ sở dữ liệu cho n8n hoặc ứng dụng khác.
- reverse proxy: nhận truy cập từ trình duyệt nhân viên, cấp HTTPS cho tên miền nội bộ.
Tất cả khai báo trong một file docker-compose.yml. Mỗi dịch vụ ghi rõ image, cổng, thư mục dữ liệu, biến môi trường và quan hệ phụ thuộc. Người quản trị chỉ cần chạy docker compose up -d để khởi động cả hệ thống, và docker compose pull để tải bản mới khi cần cập nhật.
Điểm quan trọng: chỉ reverse proxy mở cổng ra mạng văn phòng. Các container còn lại giao tiếp nội bộ, giảm bề mặt tấn công.
Các bước triển khai Docker cho AI có GPU
Chuẩn bị
- Máy chủ Linux (thường dùng Ubuntu bản hỗ trợ dài hạn) hoặc Windows có WSL2 với Docker Desktop.
- GPU NVIDIA với driver đã cài và lệnh
nvidia-smichạy được trên máy chủ. - Ổ SSD còn trống đủ cho mô hình, thường vài chục GB trở lên.
- Cài Docker Engine theo hướng dẫn chính thức cho hệ điều hành.
- Cài NVIDIA Container Toolkit và cấu hình Docker dùng runtime NVIDIA.
- Kiểm tra GPU trong container bằng cách chạy một container thử nghiệm với tùy chọn cấp GPU và lệnh nvidia-smi bên trong.
- Tạo thư mục dự án chứa file Compose và các thư mục dữ liệu.
- Khai báo dịch vụ ollama với phần cấp GPU, open-webui trỏ tới ollama qua tên dịch vụ.
- Khởi động bằng docker compose up -d, xem log bằng docker compose logs.
- Tải mô hình vào container ollama và thử chat qua giao diện.
Kiểm tra kết quả
Hỏi một câu dài trong Open WebUI, đồng thời xem nvidia-smi trên máy chủ: GPU phải tăng tải và VRAM tăng. Khởi động lại máy chủ để chắc chắn các container tự chạy lại và dữ liệu không mất.
Lưu dữ liệu, sao lưu và cập nhật container an toàn
Container có thể xóa và tạo lại bất cứ lúc nào. Mọi dữ liệu cần giữ phải nằm ngoài container, trong volume hoặc thư mục được gắn vào.
- Dữ liệu cần giữ: tài khoản và lịch sử chat của Open WebUI, workflow và thông tin xác thực của n8n, cơ sở dữ liệu, tài liệu đã nạp cho RAG.
- Dữ liệu có thể tải lại: file mô hình của Ollama. Không nhất thiết sao lưu nhưng nên ghi danh sách mô hình đang dùng.
Quy trình cập nhật an toàn
- Sao lưu thư mục dữ liệu và file Compose.
- Ghi lại tag image đang chạy ổn định.
- Đọc ghi chú phát hành của bản mới, chú ý thay đổi cấu hình.
- Kéo image mới và khởi động lại ngoài giờ làm việc.
- Kiểm tra lại các chức năng chính; nếu lỗi, đổi về tag cũ và khôi phục dữ liệu.
Tránh dùng tag “latest” cho hệ thống đang phục vụ nhân viên, vì mỗi lần kéo image có thể nhận một phiên bản khác mà bạn chưa kiểm tra.
Lưu ý bảo mật khi chạy AI nội bộ bằng Docker
- Chỉ dùng image từ nguồn chính thức: trang của dự án trên GitHub hoặc tài khoản chính thức trên Docker Hub. Image lạ có thể chứa mã độc.
- Không mở cổng không cần thiết: Ollama, cơ sở dữ liệu không nên mở ra ngoài; chỉ reverse proxy hoặc giao diện cần cho người dùng.
- Bật xác thực: Open WebUI, n8n phải có tài khoản và mật khẩu mạnh, tắt đăng ký tự do sau khi tạo xong tài khoản.
- Quản lý bí mật: API key, mật khẩu cơ sở dữ liệu đặt trong file biến môi trường có phân quyền, không chép vào tài liệu chia sẻ.
- Hạn chế quyền: không gắn toàn bộ ổ đĩa máy chủ vào container, không chạy container ở chế độ đặc quyền khi không cần.
- Cập nhật định kỳ: image cũ có thể chứa lỗ hổng đã được vá ở bản mới.
- Truy cập từ xa qua VPN: không mở thẳng ra internet.
Khi nào không cần dùng Docker cho AI
Docker không phải lúc nào cũng là lựa chọn tốt nhất.
- Một người dùng trên máy cá nhân: cài Ollama hoặc LM Studio trực tiếp nhanh và đơn giản hơn.
- Nhân viên không chuyên tự dùng: giao diện dòng lệnh của Docker dễ gây bối rối.
- Windows không bật được ảo hóa: Docker Desktop cần WSL2 hoặc Hyper-V; một số máy văn phòng bị tắt tính năng này.
- Không ai biết vận hành: Docker giúp người quản trị làm việc nhanh hơn, nhưng vẫn cần một người hiểu nó khi có sự cố.
Nguyên tắc thực tế: dùng cài đặt trực tiếp khi thử nghiệm cho một người; chuyển sang Docker khi ứng dụng bắt đầu phục vụ cả nhóm, chạy lâu dài trên máy chủ và cần sao lưu, cập nhật có kiểm soát.
Ngay từ ngày đầu, hãy lưu file Compose và ghi chú cấu hình vào kho tài liệu IT của công ty; khi máy chủ hỏng hoặc người cài nghỉ việc, đây chính là bản thiết kế giúp dựng lại hệ thống AI trong vài giờ.
Cần máy tính hoặc server chạy AI cho công ty? PCTech tư vấn cấu hình theo mô hình và số người dùng, lắp ráp, cài sẵn Ollama/Open WebUI, bảo hành tận nơi tại TP.HCM.
Nhập mô hình muốn chạy và số người dùng, nhận gợi ý GPU, RAM, SSD ngay. Dùng thử ngay
Câu hỏi thường gặp
Docker có làm AI chạy chậm hơn không?
Khi container được cấp GPU đúng cách, tốc độ chạy mô hình gần như tương đương cài trực tiếp. Chậm bất thường thường do container chưa nhận GPU và đang chạy bằng CPU.
Chạy Ollama trong Docker trên Windows được không?
Được, qua Docker Desktop với WSL2 và driver NVIDIA hỗ trợ WSL. Với máy chủ phục vụ nhiều người, Linux thường ổn định và dễ quản trị hơn.
NVIDIA Container Toolkit là gì?
Đây là bộ công cụ của NVIDIA cho phép container Docker truy cập GPU trên máy chủ. Thiếu nó, container không thấy GPU dù máy chủ đã cài driver.
Xóa container có mất dữ liệu chat và mô hình không?
Không mất nếu dữ liệu được lưu trong volume hoặc thư mục gắn ngoài. Nếu không cấu hình volume, dữ liệu sẽ mất khi xóa container.
Docker Compose là gì?
Docker Compose là công cụ khai báo nhiều container trong một file cấu hình và khởi động, dừng chúng cùng lúc. Nó rất phù hợp cho bộ ứng dụng AI gồm nhiều thành phần.
Có nên dùng Docker cho n8n kết nối AI không?
Nên, vì n8n chính thức hỗ trợ chạy bằng Docker, dễ sao lưu workflow và cập nhật phiên bản. Hãy lưu ý giữ khóa mã hóa thông tin xác thực khi chuyển máy.
Bài viết liên quan
- Tự dựng “ChatGPT nội bộ” chạy trên server công ty
- AnythingLLM vs Open WebUI: công cụ nào để chat tài liệu nội bộ
- Ollama là gì? Chạy mô hình AI miễn phí trên máy của bạn
- Server AI nội bộ cho doanh nghiệp nhỏ: khi nào cần, cấu hình ra sao
- Lỗi thường gặp khi chạy AI cục bộ và cách khắc phục nhanh
- CUDA là gì? Vì sao AI thường cần GPU NVIDIA
- Ollama vs vLLM: chọn công cụ chạy mô hình AI nội bộ