- vừa được xem lúc

CÀI ĐẶT PORTAINER ĐỂ QUẢN LÝ DOCKER HOST

0 0 1

Người đăng: Lê Anh

Theo Viblo Asia

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.

1. Hướng dẫn cài đặt Portainer

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

docker volume create portainer_data

Chạy Container từ image Portainer

docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

Sử dụng lệnh docker ps để kiểm tra các container đang chạy, như hình dưới container Portainer đã run thành công. image.png

2. Truy cập Portainer

Các bạn truy cập trang quản trị Portainer bằng đường dẫn sau.

http://[IP_Address]:9000

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. image.png

Sau khi tạo thành công User và đăng nhập được vào Portainer, giao diện Portainer sẽ hiển thị như hình dưới. image.png

3. Hướng dẫn thêm một docker host

Cách 1: Sử dụng Portainer Agent trên docker host mà bạn muốn add vào Portainer.

Bước 1: Chạy container từ images portainer/agent

docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent:latest

Bước 2: Truy cập trang Portainer chọn Mục Environment -> Add environment image.png

image.png

Ở tab Agent, các bạn điền tên, điền thông tin IP và Port chạy Portainer Agent vào. Sau đó chọn Connect. image.png

Cách 2: Expose Docker API trên docker host mà bạn muốn add vào Portainer. Bước 1: Điều chỉnh cấu hình của Docker trên remote host

nano /lib/systemd/system/docker.service

image.png Mục ExecStart thêm trường -H=tcp://0.0.0.0:2375 để export Docker API ra ngoài. Lưu ý cấu hình 0.0.0.0 đồng nghĩa với việc bất kỳ ai cũng có thể truy cập được.

Bước 2: Restart docker daemon và container trên remote host

systemctl daemon-reload
sudo service docker restart

Bước 3: Truy cập trang Portainer chọn Mục Environment -> **Add environment image.png

image.png

Ở tab Api, các bạn điền tên, điền thông tin IP và Port chạy Portainer Agent vào. Sau đó chọn Connect. image.png

Lưu ý: Khi triển khai hệ thống các bạn nên chọn phương án triển khai để quy hoạch ports cho team Network khai báo mở firewalld từ server cài Portainer đến các remote host

4. Thông tin remote host đã được 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 đó. image.png

image.png

Bây giờ các bạn có thể start, stop, hay remove các container mà không phải gõ command line nữa. Vậy các bạn hoàn toàn có thể kiểm soát được toàn bộ hệ thống docker cho dự án của mình.

5. Expose Portainer truy cập qua Domain

Mình sẽ hướng dẫn các bạn cấu hình expose portainer truy cập qua domain.

Bước 1: Bạn tạo file config portainer.conf trong nginx

server { listen 80 ; listen 443 ssl ;#default_server; server_name portainer.local.vn; => subdomain sử dụng expose portainer if ($scheme = http) { return 301 https://$server_name$request_uri; } client_max_body_size 10G; ssl_certificate /etc/ssl/local.vn/local.cer; ssl_certificate_key /etc/ssl/local.vn/local.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; access_log /opt/logs/nginx/monitorq.log; error_log /opt/logs/nginx/monitor_error.log; # proxy_read_timeout 600; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://[ip_portainer]:9000; => Cấu hình gọi đến server cài portainer proxy_read_timeout 1800; proxy_connect_timeout 180; proxy_send_timeout 180; send_timeout 180; ** # WebSocket support** proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }

Bước 2: Reload lại cấu hình nginx và tận hưởng thành quả thôi.

image.png

Lưu ý: Mình có gặp 1 lỗi là khi truy cập portainer qua nginx thì không console vào được container của remote host. Các bạn thêm config WebSocket support trong file config nginx để enable WebSocket cho việc console vào container.

6. Tổng kết:

Với những dự án nhỏ không sử dụng quá nhiều services hay containers docker thì bạn không nhất thiết phải cài đặt portainer để quản lý, vẫn hoàn toàn có thể sử dụng command line để quản lý cho chuyên nghiệp.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Một số thủ thuật hay ho với Linux (1).

1. Ctrl + x + e. Giữ CTRL, nhấn phím x rồi nhấn phím e. Thao tác này sẽ mở ra editor mặc định (echo $EDITOR | $VISUAL để kiểm tra) chứa sẵn.

0 0 34

- vừa được xem lúc

How to deploy Amplication app to DigitalOcean

This article shows you the way to deploy an app generated by Amplication to DigitalOcean. Amplication provides the dockerfile to use containers for deployment, but this blog explains how to do it manu

0 0 39

- vừa được xem lúc

Có gì mới trong Laravel 9.0?

Laravel v9 là phiên bản LTS tiếp theo của Laravel và ra mắt vào tháng 2 năm 2022. Trong bài viết này, mình xin giới thiệu một vài tính năng mới trong Laravel trong Laravel 9.

0 0 65

- vừa được xem lúc

Xây dựng trang web tra cứu ảnh sử dụng phân cụm Spectral Clustering

1. Tổng quan tra cứu ảnh. 1.1.

0 0 32

- vừa được xem lúc

Scanning network 1 - quét mạng như một hacker

Chào mọi người mình là Tuntun. Một năm qua là một năm khá bận rộn nhỉ.

0 0 34

- vừa được xem lúc

Interpreter Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu. . Interpreter là một mẫu thiết kế thuộc nhóm hành vi (Behavioral Pattern).

0 0 32