การติดตั้ง 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 สามารถทำได้ดังนี้
- ติดตั้ง Docker Swarm
- สร้างคลัสเตอร์ Docker Swarm
- เพิ่มโหนดเพิ่มเติมลงในคลัสเตอร์
- ติดตั้ง Portainer
- ติดตั้ง Traefik
- กำหนดค่า Portainer
- ทดสอบ Webserver
- ปรับขนาดคลัสเตอร์
หากคุณต้องการข้อมูลเพิ่มเติม คุณสามารถดูเอกสารประกอบ Docker Swarm Portainer และ Traefik