Triển khai Docker Container trên Synology NAS với Portainer và Container Manager

Triển khai Docker Container trên Synology NAS với Portainer và Container Manager
Sở thích|Thiết lập NAS

Docker trên Synology NAS là gì và bạn sẽ thu được gì?

Docker trên Synology NAS là cách dùng chính chiếc NAS của bạn như một máy chủ ứng dụng nhỏ, chạy các container cô lập để triển khai dịch vụ như media server, ứng dụng web hoặc công cụ sao lưu, tất cả được quản lý bằng giao diện web thân thiện thay vì phải gõ lệnh phức tạp. Nếu bạn từng tìm gói Docker trên DSM 7.2 mà không thấy, đó là vì Synology đã đổi tên gói này thành Container Manager, nhưng về bản chất nó vẫn là Docker: chạy cùng container, dùng cùng image và đọc cùng tài liệu hướng dẫn như trên bất kỳ máy nào khác.

Bài viết này dành cho người mới bắt đầu muốn chạy container trên NAS nhưng không thích làm việc với SSH hoặc dòng lệnh. Điều kiện tối thiểu: NAS chạy DSM phiên bản mới (có Package Center), bạn có quyền quản trị và đã tạo sẵn shared folder "docker" sau khi cài Container Manager, vì khi cài, hệ thống sẽ tạo sẵn thư mục này và bạn nên đặt mọi dữ liệu container ở đó.

Bạn sẽ được đi qua hai hướng: dùng Container Manager để triển khai Docker Compose Synology và dùng Portainer Synology như một web UI quản lý Docker độc lập. Cả hai đều giúp quản lý và giám sát container thông qua giao diện web, nhưng cách thao tác hơi khác nên chúng ta sẽ xem ưu điểm chính của từng bên, rồi thực hành khởi tạo container đầu tiên.

Triển khai Docker Container trên Synology NAS với Portainer và Container Manager

Chuẩn bị: Container Manager, Portainer và cấu trúc thư mục

Container Manager setup là bước đầu tiên trước khi bạn nghĩ đến việc chạy container trên NAS. Gói này nằm trong Package Center, và nếu bạn nâng cấp từ DSM cũ thì nó sẽ thay thế gói Docker cũ chứ không cài song song; các container đang chạy trước đó vẫn được giữ nguyên mà bạn không cần thao tác gì thêm. Đây là điểm rất tiện nếu bạn đang chuyển từ “Docker Synology NAS” kiểu cũ sang giao diện mới.

Sau khi cài Container Manager, hệ thống tạo shared folder "docker" và hướng dẫn rõ: mọi dự án nên nằm trong thư mục này. Trước khi chạm vào Container Manager, hãy mở File Station và tạo một thư mục con cho từng ứng dụng, ví dụ: docker/jellyfin, docker/pihole. Một câu trích dẫn hữu ích từ tài liệu: "Installing Container Manager creates that docker folder for you, and it’s where everything should live". Điều này giúp bạn sau này dễ sao lưu hoặc mang stack sang server khác.

Về Portainer Synology, bạn có thể coi đây là một web UI nhẹ để quản lý môi trường Docker, cho phép điều khiển nhiều Docker host hoặc Swarm từ một nơi. Portainer 2.39.6 là bản LTS mới, tập trung sửa lỗi và xử lý các lỗ hổng bảo mật. Trong phạm vi bài này, bạn chỉ cần hiểu Portainer sẽ kết nối vào Docker engine của NAS, còn Container Manager là ứng dụng Synology chính thức tích hợp sẵn Docker Compose Synology qua tab Project.

Quy trình 7 bước: tạo container đầu tiên bằng Docker Compose

Thay vì tạo container bằng wizard GUI, cách dễ bảo trì và di chuyển nhất là dùng Docker Compose trong tab Project của Container Manager. Đây là nơi Synology bổ sung tính năng mới: bạn có thể chạy Docker Compose trực tiếp trong giao diện mà không cần SSH. Cấu hình container được giữ trong file docker-compose.yml nên sau này chuyển sang máy khác cũng chỉ cần copy thư mục và chạy lại.

  1. Mở File Station, đi tới shared folder docker và tạo một thư mục mới cho ứng dụng, ví dụ /volume1/docker/jellyfin; Container Manager sẽ không tạo các thư mục con này giúp bạn nên chúng bắt buộc phải tồn tại trước khi chạy.
  2. Mở Container Manager, vào tab Project (đây chính là nơi quản lý Docker Compose Synology), chọn Create, đặt tên cho project và trỏ đường dẫn đến thư mục bạn vừa tạo.
  3. Chọn tạo mới docker-compose.yml, rồi dán nội dung file Compose từ tài liệu của image trên Docker Hub, hoặc tải lên một file docker-compose.yml bạn đã chuẩn bị trước.
  4. Chỉnh sửa file trước khi lưu: đặt mật khẩu, chỉnh timezone, đổi port nếu cần, và quan trọng nhất là sửa lại phần volumes từ đường dẫn tương đối ./data sang đường dẫn tuyệt đối trên NAS, ví dụ /volume1/docker/jellyfin/config:/config.
  5. Lưu file docker-compose.yml, kiểm tra lại các folder bên trái dấu hai chấm trong mục volumes đều đã tồn tại trong File Station, nếu thiếu hãy tạo ngay để tránh lỗi.
  6. Khởi tạo project: Container Manager sẽ đọc file Compose và tạo container tương ứng; nếu quá trình này thất bại, đa số lỗi đến từ folder chưa tồn tại hoặc xung đột cổng, đặc biệt là cổng 80 do DSM dùng cho reverse proxy.
  7. Sau khi project chạy, vào tab Container để xem danh sách container, trạng thái, và mở phần log nếu cần; tab Overview sẽ cho bạn cái nhìn tổng quan về dịch vụ đang chạy và mức sử dụng tài nguyên.

Điểm gây lỗi nhiều nhất cho người mới là đường dẫn volumes: tài liệu thường dùng dạng ./etc-pihole:/etc/pihole, nhưng kiểu đường dẫn tương đối như vậy không hoạt động trên Synology và là nguyên nhân dẫn đến nhiều container thất bại nhất trong Container Manager. Bạn phải đổi toàn bộ thành đường dẫn tuyệt đối bắt đầu bằng /volumeX/docker/... tương ứng với volume lưu shared folder docker. Khi đường dẫn chuẩn, bạn chỉ cần bấm tạo project là Container Manager sẽ dựng đầy đủ stack cho bạn.

Triển khai Docker Container trên Synology NAS với Portainer và Container Manager

Quản lý container qua giao diện web: Container Manager và Portainer

Sau khi container đầu tiên chạy ổn định, điều bạn quan tâm tiếp theo là quan sát và điều khiển chúng hàng ngày. Container Manager là chính Docker Synology NAS với giao diện được xây lại: tab Overview hiển thị dịch vụ đang chạy và mức sử dụng tài nguyên, Project dùng cho Docker Compose, Container liệt kê toàn bộ container, Image chứa danh sách image tải về, Registry giúp tìm kiếm image trên Docker Hub, Network quản lý mạng Docker và Log là nhật ký sự kiện của ứng dụng. Khi bạn hiểu mỗi tab làm gì, việc thao tác sẽ nhanh và ít nhầm lẫn.

Nếu bạn thích một giao diện quản lý Docker độc lập, Portainer Synology là lựa chọn đáng cân nhắc. Portainer được thiết kế như một web UI nhẹ cho Docker, giúp bạn quản lý nhiều môi trường Docker hoặc cả Swarm cluster thông qua trình duyệt. Một câu bạn có thể trích: "Portainer is a lightweight management UI which allows you to easily manage your different Docker environments". Khi chạy Portainer như một container, bạn có thêm một lớp quản lý nữa để xem log, console, stack và quyền người dùng, trong khi Container Manager vẫn là công cụ tích hợp chặt với DSM và hỗ trợ Docker Compose trực tiếp từ tab Project.

Dù chọn bên nào, lợi ích chung là bạn quản lý và giám sát container thông qua giao diện web, không cần nhớ lệnh docker run hay docker compose. Với Container Manager, bạn có thể cập nhật container mà vẫn giữ khả năng rollback nhờ dựa vào file Compose. Còn Portainer thuận tiện nếu bạn sau này muốn kết nối nhiều Docker host, hoặc chuyển stack sang hạ tầng khác nhưng vẫn giữ một giao diện quen thuộc.

Những lỗi thường gặp và lời kết cho người mới bắt đầu

Khi bắt đầu, hai lỗi làm nhiều người mất thời gian nhất là đường dẫn volumes và xung đột cổng. Tài liệu Docker Hub thường dùng đường dẫn tương đối như ./data:/data và điều này không hoạt động trên Synology, gây ra nhiều container thất bại hơn bất kỳ yếu tố nào khác trong Container Manager. Bạn luôn phải chuyển sang đường dẫn tuyệt đối trên NAS, ví dụ /volume1/docker/app/data:/data, và bảo đảm mọi thư mục đều được tạo sẵn trong File Station, vì Container Manager sẽ không tự tạo những thư mục con này cho bạn.

Về cổng, xung đột phổ biến nhất là cổng 80 vì DSM đã dùng cổng này cho reverse proxy của chính nó. Nếu container của bạn cũng muốn chiếm cổng 80, hãy đổi sang cổng khác ở phần mapping port trong file Compose hoặc trong wizard Container. Khi những điểm này được xử lý, Container Manager sẽ đọc file Compose, tạo project và xây dựng stack trơn tru; nếu vẫn lỗi, đa số là do thiếu folder hoặc xung đột port như đã nói.

Tổng kết lại, dùng Docker Synology NAS với Container Manager và Portainer giúp biến NAS thành nền tảng ứng dụng linh hoạt mà vẫn dễ quản lý. Container Manager là lựa chọn chính thức, tích hợp Docker Compose Synology qua tab Project, trong khi Portainer bổ sung giao diện quản lý Docker đa môi trường. Với một file docker-compose.yml rõ ràng, đường dẫn volumes chuẩn và cổng được cấu hình cẩn thận, việc chạy container trên NAS trở thành thói quen hàng ngày hơn là điều gì khó khăn.

Sammfy nhận hoa hồng khi bạn mua sắm qua liên kết của chúng tôi, bạn không phải trả thêm chi phí.

You May Also Like

Comments
Viết gì đó...
Chưa có bình luận nào. Hãy là người đầu tiên chia sẻ suy nghĩ!