Hướng dẫn sử dụng Docker trên NAS Synology

Share on facebook
Share on email
Share on twitter
Share on linkedin
Hướng dẫn sử dụng Docker trên NAS Synology

Việc triển khai Docker trên NAS Synology rất mạnh khi bạn hiểu nó, nhưng hơi khó hiểu khi bắt đầu ban đầu. Tôi sẽ hướng dẫn cụ thể, cách triển khai các containers, nhưng mục tiêu của tôi là cung cấp cho bạn kiến thức cần thiết để triển khai bất container nào bạn muốn. Xem ngay hướng dẫn sử dụng Docker trên NAS Synology nhé.

I. Volume Mounting – Synology NAS Docker ( Tạo dung lượng)

Khi tạo Docker container, dữ liệu quan trọng phải được ánh xạ vào một thư mục. Điều này trong Volume, nơi một thư mục được ánh xạ tới một thư mục chứa. Khi container chạy, vị trí thư mục của container trong Đường dẫn gắn kết bên dưới được ghi vào File/Folder được nhập trên NAS Synology. Bất kỳ dữ liệu nào được sửa đổi trên thư mục NAS Synology sẽ ghi vào containers folder.

Điều quan trọng cần làm nổi bật là bạn không thể gắn bất kỳ thư mục nào mà bạn muốn. Khi bạn tải xuống image từ registry, một biểu tượng nhỏ (được hiển thị bên dưới) sẽ đưa bạn đến tài liệu cho vùng chứa đó. Bạn có thể tìm kiếm tài liệu đó để xem những thư mục nào có thể được gắn kết.

Sử dụng Pi-Hole làm ví dụ, một tệp Docker Compose mẫu được cung cấp. Trong phần ổ đĩa, bạn có thể tìm thấy hai ổ đĩa có thể được gắn kết.

 

Sử dụng ./etc-pihole/:/etc/pihole/ làm ví dụ: etc-pihole là thư mục và / etc / pihole container’s folder. Bạn có thể dễ dàng thấy phần này NAS Synology bằng cách tạo các thư mục con trong thư mục docker và gắn vị trí thư mục đó vào container’s folder. Sử dụng ảnh chụp màn hình bên dưới, tôi đã tạo một thư mục có tên là pi-hole và tên thư mục con là etc-pihole. Các thư mục đó nằm bên trong thư mục docker và được gắn vào thư mục / etc / pihole của container. Khi container được khởi động, nội dung của thư mục / etc / pihole của container sẽ được ghi vào thư mục etc-pihole của Synology NAS. Nếu bạn quan tâm đến việc sao lưu một container, các thư mục bạn gắn cho container sẽ chứa tất cả dữ liệu cá nhân của bạn. Đây là những thư mục quan trọng phải được sao lưu. Phần còn lại chỉ đơn giản là cấu hình có thể được tạo trên một bản cài đặt NAS hoặc Docker

edit-pihole

Phần tiếp theo này hơi phức tạp – bạn có thể ghi đè một tệp cụ thể trên vùng chứa bằng cách tạo phiên bản của tệp đó và chọn đường dẫn chính xác nơi tệp đó tồn tại trên container.  Một ví dụ: Tệp Resolutionv.conf trong ảnh chụp màn hình bên dưới. Khi container chạy, tệp Resolutionv.conf trên container sẽ được thay thế bằng nội dung của tệp Resolutionv.conf trên NAS Synology. Để nhắc lại, nếu bạn muốn cập nhật tệp trên container, hãy tạo một tệp trên NAS Synology và ánh xạ tệp đó với tệp của container.

 

advanced settings

II. Macvlan & Bridge Network Interface

Có những container docker sẽ sử dụng một số cổng nhất định (ví dụ: 80/443) và network interface đã sử dụng các cổng đó cho việc khác. Khi điều này xảy ra, xung đột cổng sẽ ngăn container hoạt động bình thường. Trong những tình huống như thế này, bạn có hai cách chính để khắc phục sự cố:

  1. Thay đổi port để bạn đang sử dụng. Ví dụ: nếu Docker container muốn sử dụng port 80, hãy thay đổi Port khác, như 8080 như được hiển thị bên dưới. Để truy cập vùng chứa Docker, sau đó bạn sẽ sử dụng địa chỉ IP của NAS Synology và port (http: // [SYNOLOGY_NAS_IP]: 8080).

  1. Tạo macvlan network interface và bridge network. macvlan network interface sẽ tránh tất cả các xung đột cổng vì bạn đang chỉ định một địa chỉ IP duy nhất container bạn đang tạo sẽ sử dụng. Điều này có nghĩa là bạn sẽ truy cập container đó bằng địa chỉ IP hoàn toàn khác với NAS Synology của bạn. Theo mặc định, máy chủ của bạn (NAS Synology) sẽ không thể giao tiếp với container của bạn. Vì lý do này, cần có bridge network IP address để máy chủ (NAS Synology) và container có thể giao tiếp. Để rõ ràng, nếu NAS Synology cần giao tiếp với container, bạn sẽ sử dụng bridge network IP address KHÔNG phải địa chỉ IP macvlan. (Create a macvlan network interface )

1. Create Macvlan & Bridge Network Interfaces (Tạo giao diện mạng Macvlan & Bridge)

  1. SSH vào NAS Synology bằng putty.
  2. Đầu tiên, chúng ta cần xác định network interfaces nào hiện đang tồn tại (trên NAS Synology của bạn) và ghi lại. Để thực hiện việc này, hãy chạy lệnh bên dưới và network interface có địa chỉ IP của NAS Synology của bạn (trong ví dụ này, của tôi là eth0).

                  IfconfigIfconfig

 

  1. Tiếp theo, bạn cần chạy lệnh dưới đây trong khi thay thế đúng mạng con (hầu hết là 192.168.1.0/24 theo mặc định). Bạn cũng cần chọn một địa chỉ IP mà bạn muốn sử dụng mà địa chỉ này hiện không được sử dụng. Tôi sẽ sử dụng 192.168.1.198.

LƯU Ý: ph_network sẽ là tên của mạng (bạn có thể thay thế tên này nếu bạn muốn).

sudo docker network create -d macvlan -o parent=eth0 –subnet=192.168.1.0/24 –gateway=192.168.1.1 –ip-range=192.168.1.198/32 ph_network

Network đã được tạo. Sau đó, thoát SSH và tắt nó trong DSM (nếu bạn không sử dụng nó). Nếu bạn đang vô hiệu hóa nó và firewall rule, bạn cũng nên hủy kích hoạt firewall rule.

  1. Tiếp theo, chúng ta cần tạo bridge network. Đây sẽ cho phép máy chủ lưu trữ (NAS) của chúng tôi giao tiếp với container. Mở Docker và điều hướng đến phần Network. Chọn Thêm và nhập subnet hiện không được sử dụng. Địa chỉ IP của bridge mà tôi đang tạo sẽ là 192.168.10.2.

LƯU Ý: ph_bridge sẽ là tên của mạng – bạn có thể thay thế này thành tên bạn muốn.

create network

 

5. Khi bạn đang tạo container, hãy xóa mạng cầu nối và thêm hai mạng (ph_network và ph_bridge, nhưng mạng của bạn có thể đặt tên khác) vào container.

Advanced settings-network

 

Container  bây giờ sẽ sử dụng mạng chính xác! Bạn sẽ tránh được bất kỳ xung đột cổng nào đã xảy ra, có địa chỉ IP duy nhất cho container và có thể giao tiếp giữa máy chủ (NAS Synology) và container bridge network!

 

III. Environment:

Theo mặc định, nhiều containers Docker có các environment mà bạn có thể sửa đổi để thay đổi cài đặt của containers. Không có environment tiêu chuẩn trên các containers và trong khi một số chia sẻ tên biến, bạn nên xem tài liệu và xác định environment nào bạn muốn sử dụng. containers sẽ đạt tiêu chuẩn với một số biến nhất định, nhưng bạn có tùy chọn thay đổi chúng hoặc thêm các biến mới trước khi containers được tạo.

Đây là ví dụ: chi tiết environment Pi-Hole được liệt kê trong tài liệu.

environment variables

Docker container trên NAS Synology của bạn, phần environment là nơi bạn có thể thêm, xóa hoặc thay đổi các environment.

edit-pihole

Có những tình huống cần hoặc muốn truy cập vào các tệp của container. Cho dù bạn cần sửa đổi thứ gì đó (bằng mounting a file volume) hoặc xem cấu trúc, vẫn có cách để thực hiện việc đó trên NAS Synology, nhưng nó phải được thực hiện thông qua SSH.

  1. Khởi động container! Nếu container không được khởi động, bạn sẽ không thể truy cập!
  2. Đảm bảo bạn có thể SSH vào NAS Synology của mình. Mở Control Panel, select Terminal & SNMP, and Enable SSH service. Nếu bạn đang sử dụng Tường lửa của Synology, hãy đảm bảo rằng bạn cho phép lưu lượng truy cập cổng 22.
  3. Chạy lệnh dưới đây để liệt kê các vùng chứa đang chạy. Sao chép ID containers. Chạy lệnh dưới đây để liệt kê các vùng chứa đang chạy. Sao chép ID vùng chứa.

                        sudo docker container ls

  1. Chạy lệnh bên dưới và thay thế container ID được tìm thấy ở trên.

sudo docker exec -it CONTAINER_ID bash

 

  1. Bây giờ bạn sẽ được kết nối với người dung là root cho container!

IV. Docker Compose – Synology NAS

Nó có thể gây ngạc nhiên cho một số người, nhưng bạn có thể sử dụng Docker Compose ngay sau khi Docker được cài đặt trên NAS Synology. Đối với ai chưa biết, Docker Compose cho phép bạn tạo vùng chứa từ tệp cấu hình YAML bằng một lệnh duy nhất. Mọi thứ được thực thi thông qua giao diện dòng lệnh (CLI) và một số người dùng thấy nó dễ dàng hơn. Nếu bạn định sử dụng cái này, bạn có thể muốn cập nhật Docker Compose vì nó là một phiên bản hơi lỗi thời.

Một số lợi ích của Docker Compose trên NAS Synology:

– Mọi thứ được quản lý thông qua giao diện dòng lệnh (CLI). Nếu bạn cảm thấy thoải mái với CLI, rất có thể bạn sẽ thấy nó dễ dàng hơn nhiều so với việc định cấu hình vùng chứa theo cách thủ công trong GUI của Synology.

– Docker Compose là hệ thống bất khả tri, có nghĩa là tệp cấu hình và các thư mục dữ liệu có thể được chuyển sang bất kỳ hệ thống nào khác đang chạy Docker Compose và nó sẽ hoạt động như mong đợi. Đây là một điểm khác biệt hoàn toàn so với Docker GUI của Synology, vì bạn có thể sao lưu dữ liệu vùng chứa quan trọng, nhưng bạn không thể chuyển nó sang một hệ điều hành khác một cách dễ dàng.

Một số nhược điểm của Docker Compose trên NAS Synology:

– Mọi thứ được thực hiện thông qua giao diện dòng lệnh (CLI). Nếu bạn không cảm thấy thoải mái với CLI, có lẽ bạn sẽ dễ dàng quản lý mọi thứ trong GUI hơn.

– Vì tệp Docker Compose chứa tất cả cấu hình, bạn cần đảm bảo rằng tệp này được thiết lập hoàn hảo hoặc bạn sẽ xóa / tạo lại các vùng chứa thường xuyên để kiểm tra và đảm bảo mọi thứ hoạt động như mong đợi.

1. Tạo Container bằng Docker Compose:

  1. Di chuyển tệp docker-compost.yaml mà bạn đã tạo vào thư mục của container mà bạn sẽ tạo.

file station

  1. Đảm bảo bạn có thể SSH vào NAS Synology của mình. Mở Control Panel, select Terminal & SNMP, and Enable SSH service. Nếu bạn đang sử dụng Tường lửa của Synology, hãy đảm bảo rằng bạn cho phép lưu lượng truy cập cổng 22.
  2. Điều hướng đến vị trí thư mục docker trên NAS Synology của bạn và thư mục con cho container mà bạn sẽ tạo. Đối với hầu hết mọi người, thư mục sẽ được lưu trữ trên volume1, nhưng nếu bạn đang sử dụng volume, thì chọn volume chứa thư mục container .

                   cd /volume1/docker/[conatiner_folder]

  1. Sau khi xác nhận rằng tệp docker-compost.yaml nằm trong thư mục hiện tại, hãy chạy lệnh bên dưới để tạo vùng chứa. Vùng chứa bây giờ sẽ bắt đầu!

                sudo docker-compose up –detach

Có rất nhiều containers Docker khác nhau mà bạn có thể tạo trên NAS Synology. Tôi hy vọng rằng bài viết này giải thích mọi thứ theo cách dễ hiểu, nhưng điều quan trọng là cách hoạt động của Docker GUI để bạn có thể cài đặt bất kỳ vùng chứa nào bạn muốn. Quá trình này sẽ giống nhau cho tất cả các containers!

V. Kết luận:

Bài viết đã chia sẻ cách sử dụng Docker trên NAS Synology một cách đơn giản, dễ hiểu. Nếu có thắc mắc liên hệ đội ngũ kỹ thuật của Mstar Corp để được tư vấn.

Hiện nay, Mstar Corp là Service Provider duy nhất của Synology tại Việt Nam. Có đội ngũ IT trình độ chuyên môn cao về NAS Synology cũng như các sản phẩm của Synology. Đã có kinh nghiệm triển khai nhiều dự án từ doanh nghiệp nhỏ cho đến lớn, hay cả đơn vị chính phủ. Liên hệ ngay với đội ngũ Mstar Corp để được hỗ trợ tư vấn về các sản phẩm.

Tham gia Group những người dùng NAS Synology để cùng tìm hiểu sâu hơn về NAS Synology tại đây nhé: Synology Vietnam | Hỗ trợ kỹ thuật – Giải Pháp NAS

MODEL ĐỀ XUẤT

Model DS220+

Mua ngay

DS920+

Mua ngay

DS1520+

Mua ngay

RS1619xs+

Mua ngay

Số lượng users 10 – 20 users 20 – 30 users 50 – 100 users 100 – 150 users
Số lượng bay 2 4 bays có thể mở rộng thành 9 bays 5 bays có thể mở rộng thành 15 bays 6 bays có thể mở rộng thành 16 bays
System memory 2 GB DDR4 4 GB DDR4 4 GB DDR4 8 GB DDR4 ECC UDIMM
Hỗ trợ SSD 2.5 “SATA SSD 2.5 “SATA SSD M.2 2280 NVMe SSD 2.5 “SATA SSD M.2 2280 NVMe SSD 3.5″ SATA HDD

2.5″ SATA HDD

2.5″ SATA SSD

M.2 2280 NVMe & SATA SSD

M.2 drive bay 0 2 (NVMe) 2 (NVMe) 2 (NVMe & SATA)


THÔNG TIN LIÊN HỆ: MSTAR CORP

Hotline: 0943199449 – 0909514461

Email: [email protected]

Fanpage: https://www.facebook.com/mstarcorp/

Group hỗ trợ kỹ thuật: https://www.facebook.com/groups/synologyvn/

Website: mstarcorp.vn

Store: https://store.mstarcorp.vn/

Trụ sở: Tầng 1, 75 Hoàng Văn Thụ, phường 15, quận Phú Nhuận, TP. HCM

Chi nhánh Hà Nội : Tầng 11, tòa nhà Zen Tower, 12 đường Khuất Duy Tiến, P.Thanh Xuân Trung, Q. Thanh Xuân, TP. Hà Nội

 

 

Leave a Replay