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 Portainer, công cụ quản lý Docker với giao diện web trực quan và chi tiết. #
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.
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ách cài đặt Portainer #
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 host.
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. Truy cập trang Prontainer bằng trình duyệt với đường dẫn (URL) là: http://<địa chỉ IP host>:<port> #
3.1. Ở lần truy cập đầu tiên, 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.
3.2. Chọn cách thức kết nối đến Docker host. Hiện tại Portainer đang hỗ trợ 4 cách thức để kết nối, bao gồm:
- Local: kết nối đến Docker host trên server.
- Remote: kết nối đến remote Docker host thông qua Docker API.
- Agent: kết nối đến một Portainer agen khác đang được thiết lập Swarm cluster.
- Azure: Kết nối đến Microsoft Azure để quản lý Azure Container Instances (ACI).
Bài viết này sẽ hướng dẫn bạn đọc cách kết nối và quản lý Docker host ở “local“. Các cách thức còn lại sẽ được xuất hiện một bài viết hướng dẫn khác trong thời gian tới.
3.3. Truy cập trang Portainer dashboard.
Ở giao diện đầu tiên sau khi thiết lập thành công, người dùng sẽ thấy được thông tin của endpoint đã kết nối thành công. Ví dụ ở trong ảnh bên dưới. Hiện tại trên host đang được kết nối (local) đang có:
- Số lượg stack: 0.
- Số lượng container: 4, 3 container đang hoạt động và 1 container đã stop.
- Số lượng volume: 5.
- Số lượng image: 4.
- Và một số thông tin của Docker và host.
Ở mục “SETTINGS” sẽ cho phép người dùng có thể tùy biến thông tin của Portainer. Bao gồm:
- Bật/tắt các plugin/extension của Portainer.
- Tạo user/group và phân quyền cho từng user/group.
- Thêm/xóa các kết nối đến các endpoint (host).
- Thiết lập kết nối đến các registry.
- Chỉnh sửa cấu hình portainer.
3.4. Truy cập trang quản lý Docker của 1 endpoint
Nhấn chọn tên endpoint cần xem thông tin ở trang Home. Ví dụ, hiện tại Portainer đang kết nối đến endpoint “local” thì bạn chỉ cần nhấn vào tên của endpoint để truy cập trang quản lý thông tin.
Portainer hỗ trợ khá nhiều tính năng để người dùng có thể quản lý thông tin của Docker bao gồm:
- Dashboard: hiển thị thông tin tổng quát về host, tình trạng tài nguyên hiện có của Docker trên host.
- App Templates: bao gồm danh sách các template mẩu để người dùng có thể triển khai (deploy) các dịch vụ (service) một cách nhanh chóng. Ngoài ra, người dùng cũng có thể tạo thêm các template mẩu dành cho riêng mình.
- Stacks: Cho phép người dùng có thể thêm/xóa các stack (Docker Swarm) hiện có bằng docker-compose file version 2.
- Containers: Chứa thông tin chi tiết tình trạng các container hiện có trên host. Ngoài ra, người dùng cũng có thể thực hiện các thao tác sau:
- Thêm/xóa/dừng (stop)/ kill/thay đổi thông tin của container chỉ định.
- Xem log của từng container.
- Xem thông tin chi tiết (inspect) của container.
- Xem tình trạng sử dụng tài nguyên của container.
- Thực thi một số câu lệnh trên container thông qua giao diện web.
- Images: hiển thị thông tin các image hiện có trên host, nếu image nào không được sử dụng sẽ được gắn nhãn “Unused“, cho phép người dùng cũng có thể thêm/xóa các image hiện có trên tính năng này.
- Networks: hiển thị danh sách các network hiện có trên host, cho phép người dùng có thể thêm/xóa các network.
- Volumes: hiển thị danh sách các volume hiện có trên host, cho phép người dùng có thể thêm/xóa các volume.
- Events: hiển thị log các sự kiện đã diễn ra trên Docker host.
- Host: hiển thị thông tin của host và Docker Engine trên host.
Chúc bạn thành công!
Nguồn tham khảo: