Cấu hình Portainer – Giám sát Docker trên remote host (Phần 2)

cấu hình portainer

Bạn cần một công cụ quản lý Docker Container với giao diện trực quan, dễ triển khai, dễ sử dụng. Bài viết này sẽ giới thiệu và hướng dẫn cách cài đặt và cấu hình Portainer, công cụ quản lý Docker với giao diện web trực quan và chi tiết. #

công cụ quản lý docker

Portainer là gì? #

Portainer là công cụ quản lý Docker Containter miễn phí với kích thước gọn nhẹ và giao diện quản lý trực quan, đơn giản để triển khai cũng như sử dụng, cho phép người dùng dễ dàng quản lý Docker host hoặc Swarm cluster. Công cụ này hoạt động trên một container được triển khai trên Docker Engine (tương thích với phiên bản 1.9 trở lên, hỗ trợ trên cả Linux và Windows). Bạn đọc có thể tham khảo thêm thông tin của Portainer tại trang chủ của Portainer hoặc repository của Portainer trên Github.

công cụ quản lý docker

Portainer cho phép người dùng quản lý Docker stack, container, image, volume, network,… Bạn có thể trải nghiệm bản demo của Portainer tại trang http://demo.portainer.io/ (tài khoản đăng nhập mặc định là admin / tryportainer. Lưu ý: trang demo sẽ tự động reset sau mỗi 15 phút). Portainer cũng đang trong quá trình phát triển và thử nghiệm việc tích hợp quản lý Kubernetes với phiên bản BETA v2 (tính tới thời điểm hiện tại – 08/2020). Bạn có thể xem chi tiết tại đây.

Cấu hình Portainer và kết nối đến remote host #

Lưu ý: Bài viết này sẽ hướng dẫn bạn đọc cách cài đặt Portainer để quản lý Docker trên remote host. (Nếu đã cài đặt / triển khai Portainer từ trước, bạn có thể xem từ bước 4.2)

1. Tạo Docker Volume để lưu trữ thông tin #

docker volume create portainer_data

2. Tạo Docker Container từ image Portainer #

docker container run -d --name portainer -p 8080:9000 \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data portainer/portainer

3. Expose Docker API trên remote host #

Để Portainer có thể kết nối đến remote host thì người dùng cần phải expose port của Docker API (mặc định là 2375) để có thể kết nối và quản lý Docker từ xa.

3.1 Điều chỉnh cấu hình của Docker trên remote host

sudo nano /lib/systemd/system/docker.service

Ở mục “ExecStart” thêm trường “-H=tcp://0.0.0.0:2375” để export Docker API ra ngoài Internet. Lưu ý, cấu hình “0.0.0.0” đồng nghĩa với việc bạn sẽ expose Docker trên host ra ngoài Internet, bất kỳ ai cũng có thể truy cập được.

cấu hình portainer

3.2 Restart docker daemon và container

systemctl daemon-reload
sudo service docker restart

4. Truy cập trang Prontainer bằng trình duyệt với đường dẫn (URL) là: http://<địa chỉ IP host>:<port> #

4.1. Nếu bạn chưa cài đặt / triển khai Portainer:

4.1.1. Portainer sẽ yêu cầu người dùng thiết lập mật khẩu của tài khoản admin.

công cụ quản lý docker

4.1.2. Chọn “Remote” để kết nối đến Docker remote host thông qua Docker API

cấu hình portainer

4.1.2 Điền thông tin của remote host sau đó nhấn “Connect” để vào trang Dashboard.

4.2. Nếu bạn đã cài đặt / triển khai Portainer từ trước:

4.2.1. Chọn “Endpoints” ở menu bên trái.

cấu hình portainer

4.2.2. Chọn “Add Enpoints” để tạo kết nối mới đến remote host. 

4.2.3. Chọn “Docker” để kết nối đến remote host thông qua Docker API

cấu hình portainer

4.2.4. Điền thông tin của host và chọn “Add endpoint” để tạo kết nối đến remote host.

Trong đó:

  • Name: tên của endpoint bạn muốn kết nối
  • Endpoint URL: địa chỉ IP hoặc domain + port Docker API của remote host
  • Public IP: địa chỉ IP hoặc domain của remote host.

4.3. Thông tin các host sau khi kết nối thành công sẽ hiển thị ở menu”Endpoints”.

cấu hình portainer

5. Xem thông tin Docker trên host đã kết nối

Để xem thông tin của từng host đã kết nối, bạn đọc vào menu “Home” ở bên trái. Trang web sẽ hiển thị danh sách các host đã được kết nối. Nhấn chọn host bạn muốn truy cập dựa vào danh sách đang hiển thị để truy cập vào trang quản lý thông tin của host đó.

cấu hình portainer

Chúc bạn thành công!

Nguồn tham khảo:

  1. Portainer.io
  2. Medium

Powered by BetterDocs

Để lại 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 *