0
0
Lập trình
Thaycacac
Thaycacac thaycacac

Tích Hợp Docker Compose và Swarm: Triển Khai Đa Máy Chủ

Đăng vào 4 tháng trước

• 2 phút đọc

Giới Thiệu

Chào mừng bạn quay lại! Sau khi đã làm quen với Docker Compose và Swarm một cách riêng lẻ, đã đến lúc kết hợp sức mạnh của chúng. Trong bài viết này, chúng ta sẽ khám phá cách triển khai ứng dụng đa container trên nhiều máy chủ bằng cách sử dụng Compose cùng với Swarm.


Tại Sao Nên Tích Hợp Compose với Swarm?

  • Docker Compose giúp đơn giản hóa việc định nghĩa dịch vụ.
  • Docker Swarm cung cấp khả năng điều phối, mở rộng và độ sẵn sàng cao.
  • Khi kết hợp, chúng cho phép triển khai các ứng dụng phức tạp trên nhiều cluster dễ dàng hơn.

Chuẩn Bị Docker Compose cho Swarm

  • Docker Compose phiên bản 3 hỗ trợ chế độ Swarm.
  • Định nghĩa dịch vụ, mạng, và volumes như thường lệ.
  • Sử dụng phần deploy cho các cài đặt cụ thể của Swarm:
yaml Copy
version: '3.8'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    deploy:
      replicas: 3
      update_config:
        parallelism: 1
        delay: 10s
      restart_policy:
        condition: on-failure

Triển Khai Docker Compose lên Swarm

Để triển khai Docker Compose lên Swarm, sử dụng lệnh sau:

bash Copy
docker stack deploy -c docker-compose.yml mystack
  • Lệnh docker stack deploy sẽ hiểu các tệp Compose trong chế độ Swarm.
  • Các dịch vụ được định nghĩa trong Compose bây giờ trở thành các dịch vụ Swarm.

Kiểm tra các dịch vụ đang chạy:

bash Copy
docker stack services mystack

Tăng Quy Mô & Cập Nhật

  • Để mở rộng một dịch vụ:
bash Copy
docker service scale mystack_web=5
  • Thực hiện cập nhật cuộn bằng cách cập nhật hình ảnh trong docker-compose.yml và triển khai lại:
bash Copy
docker stack deploy -c docker-compose.yml mystack

Mạng & Bảo Mật

  • Mạng overlay được định nghĩa trong Compose sẽ tự động được tạo ra trên các node Swarm.
  • Các bí mật và cấu hình cũng có thể được định nghĩa trong Compose:
yaml Copy
secrets:
  db_password:
    file: ./db_password.txt

services:
  db:
    image: postgres:latest
    secrets:
      - db_password

Thực Hành Tốt Nhất

  1. Sử dụng Compose phiên bản 3+ để tương thích với Swarm.
  2. Định nghĩa replicas, update_config, và restart_policy trong phần deploy.
  3. Sử dụng mạng overlay cho giao tiếp đa máy chủ.
  4. Quản lý bí mật và cấu hình thông qua Compose.
  5. Thử nghiệm trên một cluster Swarm nhỏ trước khi triển khai vào sản xuất.

Thử Thách Thực Hành

  1. Tạo một ứng dụng Compose đa container (web + db + cache).
  2. Thêm cài đặt triển khai cho Swarm (replicas, update_config).
  3. Triển khai nó bằng docker stack deploy trên nhiều node.
  4. Kiểm tra khả năng mở rộng, cập nhật cuộn, và sử dụng bí mật.

Tập Tiếp Theo: Tập 25 — Khắc Phục và Gỡ Rối Docker: Các Vấn Đề Thường Gặp & Giải Quyết — học cách xác định và giải quyết các vấn đề container trong thực tế một cách hiệu quả.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào