การติดตั้ง Docker Swarm Portainer Traefik สำหรับการใช้งาน Webserver สามารถทำได้ดังนี้

1. ติดตั้ง Docker Swarm

ขั้นแรก คุณต้องติดตั้ง Docker Swarm CLI บนโหนด Docker ทั้งหมดที่คุณต้องการรวมไว้ในคลัสเตอร์

บน Ubuntu คุณสามารถติดตั้ง Docker Swarm CLI โดยใช้คำสั่งต่อไปนี้:

sudo apt update
sudo apt install docker-ce docker-compose

บน macOS คุณสามารถติดตั้ง Docker Swarm CLI โดยใช้คำสั่งต่อไปนี้:

brew install docker

2. สร้างคลัสเตอร์ Docker Swarm

เมื่อคุณติดตั้ง Docker Swarm CLI แล้ว คุณสามารถเริ่มสร้างคลัสเตอร์ได้ ในการทำเช่นนี้ ให้รันคำสั่งต่อไปนี้บนโหนดที่คุณต้องการกำหนดให้เป็นผู้จัดการคลัสเตอร์

docker swarm init

คำสั่งนี้จะสร้างคลัสเตอร์และกำหนดโหนดที่คุณกำลังรันคำสั่งให้เป็นผู้จัดการคลัสเตอร์

3. เพิ่มโหนดเพิ่มเติมลงในคลัสเตอร์

หากคุณต้องการเพิ่มโหนดเพิ่มเติมลงในคลัสเตอร์ ให้รันคำสั่งต่อไปนี้บนโหนดที่คุณต้องการเพิ่มลงในคลัสเตอร์

docker swarm join --token <token> <manager_ip>

แทนที่ <token> ด้วยโทเค็นคลัสเตอร์ที่คุณได้รับจากคำสั่ง docker swarm init และแทนที่ <manager_ip> ด้วยที่อยู่ IP ของผู้จัดการคลัสเตอร์

4. ติดตั้ง Portainer

Portainer เป็นแพลตฟอร์มการจัดการคอนเทนเนอร์ที่ช่วยให้คุณสามารถจัดการ Docker Swarm ของคุณได้อย่างง่ายดาย

คุณสามารถติดตั้ง Portainer บนโหนดใดก็ได้ในคลัสเตอร์โดยใช้คำสั่งต่อไปนี้:

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

คำสั่งนี้จะติดตั้ง Portainer บนโหนดและเปิดพอร์ต 9000 สำหรับการเชื่อมต่อ

5. ติดตั้ง Traefik

Traefik เป็นระบบกระจายคอนเทนเนอร์ที่ช่วยให้คุณสามารถจัดการเส้นทางและโหลดบาลานซ์แอปพลิเคชันคอนเทนเนอร์ของคุณ

คุณสามารถติดตั้ง Traefik บนโหนดใดก็ได้ในคลัสเตอร์โดยใช้คำสั่งต่อไปนี้:

docker run -d --name traefik -p 80:80 -p 443:443 --restart=always --network=traefik traefik:latest

คำสั่งนี้จะติดตั้ง Traefik บนโหนดและเปิดพอร์ต 80 และ 443 สำหรับการเชื่อมต่อ

6. กำหนดค่า Portainer

เมื่อ Portainer ติดตั้งแล้ว คุณสามารถเปิดเบราว์เซอร์ของคุณและไปที่ http://localhost:9000 เพื่อกำหนดค่า Portainer

เมื่อคุณเข้าสู่ระบบ Portainer แล้ว ให้คลิกที่ “Create a new stack”

จากนั้น คัดลอกและวางโค้ดต่อไปนี้ลงในช่อง “Compose file”

version: '3.8'
services:
  web:
    image: nginx
    ports:
      - "80:80"
  database:
    image: mysql
    environment:
      MYSQL_DATABASE: my_database
      MYSQL_USER: my_user
      MYSQL_PASSWORD: my_password

กดปุ่ม “Deploy”

7. ทดสอบ Webserver

เมื่อคุณกำหนดค่า Portainer แล้ว คุณควรสามารถเข้าถึง Webserver ของคุณได้

เปิดเบราว์เซอร์ของคุณและไปที่ http://localhost

คุณควรเห็นหน้าแรกของ Nginx

8. ปรับขนาดคลัสเตอร์

หากคุณต้องการปรับขนาดคลัสเตอร์ของคุณ คุณสามารถเพิ่มหรือลบโหนดออกจากคลัสเตอร์ได้

หากต้องการเพิ่มโหนด ให้รันคำสั่ง docker swarm join บนโหนดใหม่

หากต้องการลบโหนด ให้รันคำสั่ง docker swarm leave บนโหนดที่คุณต้องการลบ

สรุป

การติดตั้ง Docker Swarm Portainer Traefik สำหรับการใช้งาน Webserver สามารถทำได้ดังนี้

  1. ติดตั้ง Docker Swarm
  2. สร้างคลัสเตอร์ Docker Swarm
  3. เพิ่มโหนดเพิ่มเติมลงในคลัสเตอร์
  4. ติดตั้ง Portainer
  5. ติดตั้ง Traefik
  6. กำหนดค่า Portainer
  7. ทดสอบ Webserver
  8. ปรับขนาดคลัสเตอร์

หากคุณต้องการข้อมูลเพิ่มเติม คุณสามารถดูเอกสารประกอบ Docker Swarm Portainer และ Traefik