Chuyên mục
internet

Hướng dẫn cài đặt & sử dụng Docker trên OpenWRT

Mình cũng mới làm quen với Docker thôi, cũng chưa dùng thực tế Docker trên các nền tảng khác mà sử dụng Docker trên OpenWRT luôn. Hướng dẫn này giúp bạn nào chưa biết có thể cài Docker trên OpenWRT.

Mình đã thử nghiệm với các bản OpenWRT 23.x và 24.x

Router của bạn phải có tầm 1Gb dung lượng bộ nhớ. Thường thì cài Docker xong cũng mất độ 2, 300mb rồi, còn cài các image nữa, cũng tốn, nên chơi Docker thì có tầm 1Gb dung lượng bộ nhớ cho thoải mái.

RAM tầm 1Gb là đủ dùng.

CPU đương nhiên càng khỏe càng tốt.

Hướng dẫn cài đặt Docker trên OpenWRT

Bạn nên cài package bằng lệnh trên ssh vì trong quá trình cài dung lượng tải về nhiều, nếu cài bằng giao diện web luci thì dễ bị lỗi out time không cài được.

Bạn dán lần lượt từng lệnh sau vào ssh

opkg update
opkg install dockerd
opkg install docker
opkg install luci-app-dockerman

Riêng phần cài package luci-app-dockerman có một vài lưu ý như sau.

Với bản OpenWRT 23.x sau khi cài xong bạn kiểm tra trong các app đã cài xem có package docker-compose hay chưa, nếu chưa có thì bạn cài thêm.

opkg install docker-compose

Với bản 24.x của OpenWRT có thể sẽ bị lỗi package luci-app-dockerman, nếu bạn vào phần Docker -> Configuration mà không thấy có phần DockerMan settings như ảnh dưới đây thì có thể bản đấy đã bị lỗi.

Cách khắc phục như sau:

1, Bạn có thể chuyển qua dùng firmware ImmortalWrt thay vì OpenWRT. Package luci-app-dockerman bên đó không bị lỗi.

2, Nếu bạn vẫn muốn dùng OpenWRT thì bạn có thể vào đây. tìm thư mục dành cho CPU router của bạn, vào mục luci, tìm package luci-app-dockerman bản 0.5.26-r1 hoặc mới hơn và về cài thủ công là được.

Hướng dẫn sử dụng cơ bản.

Mình cũng không chuyên sâu lắm đâu, và đây là những gì mình biết.

Tìm Image

Nếu bạn tự build được Image thì không cần quan tâm phần này, nếu bạn không tự build được Image thì có thể tìm kiếm Image ở Hub Docker.

Pull Image

Bạn vào Docker -> Images để pull hoặc import image cần dùng.

Tạo Containers từ Image

Bạn vào Docker -> Containers chọn Add để tạo Containers mới.

Đoạn cấu hình 1 Containers mới nó tùy thuộc vào Images của bạn, nếu bạn dùng Images trên Hub Docker thì nhớ đọc kĩ cấu hình config được demo trong mô tả.

Trong phần cấu hình mình chỉ lưu ý 2 phần:

1, Networks

Bridge – Containers của bạn sẽ được cấp một IP nội bộ riêng được tạo từ mạng bridge, nếu sau bạn muốn mở port ra ngoài internet thì bạn cần dùng IP nội bộ này để cấu hình trong Firewall -> Port Forwards

Host – Containers sẽ dùng IP mặc định của router và bạn không tùy chỉnh được port cho containers. Không nên dùng cái này trừ khi bắt buộc.

2, Exposed Ports

Nếu bạn chọn Network Bridge thì sẽ có cái này. Cái này là để quy định Containers của bạn sẽ chạy port nào. Ví dụ bạn muốn chạy port 5000 thì điền vào là 5000:5000

Các cấu hình còn lại tùy thuộc vào Image, để lại comment nếu bạn gặp khó khăn, mình sẽ cố gắng hỗ trợ.

Cấu hình ra ngoài Internet

Ngoài việc mở port trong Firewall -> Port Forwards bạn cũng sẽ cần vào phần Docker -> Configuration -> DockerMan settings và thêm các giao diện pppoe-wan mà bạn cần mở docker ra internet từ những giao diện này. Lưu ý đây là các giao diện mạng quay pppoe chứ không phải dhcp nha.

Tiếp theo bạn vào Firewall -> Zone Settings và edit giao diện mạng docker.

Thêm các giao diện WAN mà bạn muốn Docker sử dụng để ra ngoài Internet trong mục Allow forward to destination zones.

Ok, vậy là xong rồi đó, Bạn check lại xem Containers đã chạy như ý chưa. Để lại bất cứ câu hỏi và góp ý nào ở phần bình luận để chúng ta có thể sử dụng Docker trên OpenWRT thành thạo hơn.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *