- Bài viết sau đây hướng dẫn cấp địa chỉ IP LAN cho Docker chạy trên Synology giống như một máy chủ vật lý trong trường hợp sử dụng nhiều dịch vụ cùng Port trên Synology
B1: Bật chức năng SSH để đăng nhập vào Synology
B2 : Tạo mạng macvlan cho Docker
- Sau khi login SSH vào Synology thì chạy dòng lệnh sau
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.253/30 LAN_Network
- ip-range
- ip-range=192.168.1.X/32 : Cấp IP x cho 1 thiết bị
- ip-range=192.168.1.X/31 : Cấp IP cho 2 thiết bị với IP bắt đầu từ INT(X/2)*2
- ip-range=192.168.1.X/30 : Cấp IP cho 4 thiết bị với IP bắt đầu từ INT(X/4)*4
- ip-range=192.168.1.X/29 : Cấp IP cho 8 thiết bị với IP bắt đầu từ INT(X/8)*8
- VD : 192.168.1.247/29 : INT(247/8)= INT(30.875)=30
- => IP bắt đầu từ 30*8=240 đến 247
- subnet : 24 = 255.255.255.0 ; 16 = 255.255.0.0
- subnet và gateway chỉnh lại theo dãi IP LAN của bạn
- LAN_Network : là tên mạng hiển thị trong Docker
Lưu ý : Nếu khi Docker không thể khởi động và báo lỗi :
Start container DOCKER-NAME failed: {"message":"failed to create the macvlan port: device or resource busy"}.
Thì thay thế eth0 bằng ovs_eth0
sudo docker network create -d macvlan -o parent=ovs_eth0 --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.253/30 LAN_Network
Với câu lệnh trên tạo ra mạng LAN_Network cấp tối đa 4 IP bắt đầu từ 252
Tạo mạng Bridge để kết nối Container với Synology
- Thêm mạng Bridge để kết nối Container bằng câu lệnh sau :
sudo docker network create -d bridge -o parent=ovs_eth0 --subnet=192.168.2.0/24 --gateway=192.168.2.1 --ip-range=192.168.2.254/32 LAN_MyDDNS
Câu lệnh trên tạo ra mạng LAN_MyDDNS với IP cố định là 192.168.2.254
- Nếu sử dụng nhiều Container thì tiếp tục tạo thêm mạng Bridge
sudo docker network create -d bridge -o parent=ovs_eth0 --subnet=192.168.3.0/24 --gateway=192.168.3.1 --ip-range=192.168.3.254/32 LAN_Cpanel
Lưu ý : Để tránh trường hợp mạng Bridge không cấp Port cho Container thì tên mạng đặt theo dạng LAN_… và chử cái đầu tiên trong phần … viết hoa
- Bài viết này thực hiện trên DMS 7 và Docker phiên bản 20.10.3-1233