Docker Swarm là công cụ tạo ra một clustering Docker. Cho phép ta có thể kết nối các docker host với nhau tạo thành một cụm các máy, khi tạo được hệ thống Docker Swarm thì chúng ta có thể quản lý và chạy các dịch vụ trên hệ thống này một cách dẽ dàng. Giả sử ta có các hệ thống docker chạy trên các vps khác nhau thì ta có kể kết nối chúng tạo thành một cụm docker
Chúng ta cần dùng Docker Swarm khi project của bạn cần phát triển, quản lý, deploy trên nhiều nhiều host thì đó là lúc cần dùng đến Docker Swarm.
Tính năng nổi bật
Kiến trúc của Docker Swarm
Kiến trúc Swarm bao gồm một tập hợp các node có ít nhất một nút chính (Manager-Leader) và một số node worker có thể là máy ảo hoặc vật lý.
Khởi tạo Docker Swarm
Phần này chúng ta sẽ tạo một cụm docker với 2 máy host làm node worker và 1 host làm node manager
Tạo máy ảo cho Swarm manager bằng lệnh
$ docker-machine create manager
Tạo 2 máy ảo cho Swarm node worker bằng lệnh
$ docker-machine create worker1
$ docker-machine create worker2
Kiểm tra danh sách máy ảo
$ docker-machine ls
Cần kiểm tra thông tin 1 máy ảo thì ta có thể dùng lệnh
$ docker-machine inspect manager
Khởi tạo Swarn trên máy ảo manager. Để truy cập vào máy manager thì ta SSH vào bằng lệnh
$ docker-machine ssh manager
Ở local host khởi tạo Swarm với node manager là IP máy chọn làm manager,
$ docker swarm init --advertise-addr <IP Machine>
Ở đây là IP máy mình chọn làm node manager , IP này mình có thể lấy ở lệnh $ docker-machine ls hoặc $ docker-machine inspect manager
Tạo xong thì sẽ như này, dòng bôi trắng là lệnh dùng để các worker jorn vào Swarm này, lệnh này để dùng vào phần sau
Kiểm tra list node hiện tại đang có trong Swarm
docker node ls
Join một máy áo khác vào Swarm vừa tạo
Bật một terminal mới và ssh vào worker1, và sử dụng lệnh jorn ở trên khi khởi tạo Swarm giải thích 1 chút về lệnh jorn
$ docker swarm join --token <token> <host>:<port>
So sánh giữa Kubernetes và Docker Swarm
Kubernetes và Docker Swarm đều là các công cụ quản lý container orchestration cho phép ta có thể quản lý các container trên nhiều máy chủ vật lý khác nhau.
Tuy nhiên, Kubernetes là công cụ phổ biến hơn và có nhiều tính năng hơn so với Docker Swarm.
Một số điểm khác biệt giữa Kubernetes và Docker Swarm:
Tài liệu tham khảo
18 posts | 5 followers
FollowTran Phuc Hau - April 23, 2023
Tran Phuc Hau - April 23, 2023
Tran Phuc Hau - April 23, 2023
Regional Content Hub - November 4, 2024
Tran Phuc Hau - March 22, 2024
Alibaba Cloud Vietnam - January 1, 2024
18 posts | 5 followers
FollowAccelerate software development and delivery by integrating DevOps with the cloud
Learn MoreAn enterprise-level continuous delivery tool.
Learn MoreMore Posts by Tran Phuc Hau