Skip to content
An`s Weblog
Go back

Deploying Stacks in Docker Swarm

1. Khái niệm Stack trong Docker Swarm


2. Mô hình ứng dụng Prometheus Monitoring Stack

Cấu trúc thư mục dự án:

swarm/prometheus/
├── docker-compose.yml
└── prometheus.yml

3. Các bước triển khai chi tiết

3.1. Tạo thư mục và cấu hình Prometheus

mkdir -p swarm/prometheus
cd swarm/prometheus
vi prometheus.yml

Lưu ý: Cập nhật danh sách địa chỉ IP private của Manager và Worker Node trong file prometheus.yml.

3.2. Cấu hình Docker Compose File

vi docker-compose.yml

Cấu hình Port mappings:

3.3. Kiểm tra cổng kết nối (Port Conflict)

docker container ls
docker service ls

3.4. Dọn dẹp dịch vụ cũ (nếu có)

docker service rm <service_id>

3.5. Thực thi lệnh triển khai Stack

docker stack deploy --compose-file docker-compose.yml prometheus

3.6. Kiểm tra trạng thái Stack & Service

docker stack ls
docker service ls

4. Xử lý lỗi phân quyền (Permission Issue) với Prometheus

Do container Prometheus chạy mặc định dưới tài khoản nobody, cần cấp quyền sở hữu volume dữ liệu:

sudo chown -R nfsnobody:nfsnobody /var/lib/docker/volumes/prometheus_data
sudo chown nfsnobody:nfsnobody prometheus.yml

5. Truy cập & Kiểm thử Dịch vụ

Dịch vụURL truy cập
Prometheus UIhttp://<PUBLIC_IP>:8080
Grafana UIhttp://<PUBLIC_IP>:8082

6. Tổng kết các lệnh quản lý Docker Stack

Mục đíchCâu lệnh
Danh sách Stackdocker stack ls
Danh sách Servicesdocker service ls
Xem Tasks trong Stackdocker stack ps <stack_name>
Xóa Stackdocker stack rm <stack_name>

7. Tổng kết


Share this post:

Previous Post
Introduction to Docker Security
Next Post
Using Volumes in Swarm Mode