ใช้ Docker Compose กับ Docker Swarm

15 Dec 2017,
Share: 

สวัสดีครับจากบทความตอนที่แล้ว “เริ่มต้นใช้ Docker Swarm” เราได้เรียนรู้พื้นฐานการใช้งาน Docker Swarm กันไปแล้ว ในบทความนี้เราจะมาต่อยอดโดยนํา Docker Compose มาใช้ใน Docker Swarm เพราะในงานจริงเราจะได้ทํางานได้ง่ายและสะดวกขึ้น ก่อนที่จะอ่านบทความนี้ควรจะต้องมีความรู้ในเรื่องของ Docker Swarm และ Docker Compose ก่อน กลับไปอ่านได้ที่นี่

อย่าลืม Update Docker เป็น version ล่าสุดก่อนนะครับ

อันดับแรกต้อง Join Swarm กันให้เรียบร้อยก่อนครับ ซึ่งวิธีการ Join Swarm อ่านได้จากที่นี่ เริ่มต้นใช้ Docker Swarm โดยเราจะ Join Swarm ไว้แต่ยังไม่ต้องรัน Service เราจะมารัน Service ด้วย Docker Compose ตามวิธีดังต่อไปนี้ ถ้าใช้ DigitalOcean เราจะต้องไป Config Firewall ให้สามารถใช้งาน port ที่ Docker Swarm ต้องการได้ อ่านเพิ่มเติมที่นี่ครับ Configure the Linux Firewall for Docker Swarm on Ubuntu ผมใช้ DigitalOcean สร้างเครื่องขึ้นมาทั้งหมด 5 เครื่อง แล้วนํามา Join Swarm

Image

เมื่อเรา Join Swarm เรียบร้อยแล้ว ในตัวอย่างของผม Join กันทั้งหมด 5 เครื่องตามนี้

Image

สร้างไฟล์ docker-compose.yml

version: '3'
services:
  test:
    image: thiti/swarm-example
    ports:
      - 3000:3000
    deploy:
      replicas: 10

การเขียน File docker-compose.yml จะเขียนเหมือน Docker Compose ทั่วๆไป แต่สิ่งที่เพิ่มเติมเข้ามาคือ Config ในส่วนของการ Scale ระบบคือ deploy และ replicas เราก็ใส่ replicas ได้ตามใจชอบ ในตัวอย่างนี้ผมใช้ Docker Image เดิมในบทความที่แล้ว (เป็น webserver แสดงชื่อของ Host) คําสั่งที่ใช้ในการรัน service คือ

docker stack deploy -c <ชื่อ file docker compose> <ชื่อ Service>

ลองรัน Service จะได้แบบนี้ครับ

Image

Check ดูว่า Stack เราถูกสร้างขึ้นมาหรือยัง ด้วยคําสั่ง

docker stack ls

Image

Check ดูว่า service เราถูกสร้างขึ้นมาหรือยัง ด้วยคําสั่ง

docker service ls

Image

เราจะได้ Service ขึ้นมา 1 ตัว ลองเปิดหน้าเว็บดูครับ

Image

จะแสดงชื่อของ node ที่รับงานไป ลองปิดดูหลายๆครั้ง จะเห็นว่าชื่อจะเปลี่ยนไปตามระบบจัดการว่าให้เครื่องไหนเป็นคนรับงานไป

Image

วิธีการลบ Stack ให้ใช้คําสั่ง

docker stack rm <ชื่อ stack>

Image

ส่วนคําสั่งในการจัดการ Service หรือ node เป็นคําสั่งของ Swarm ทั่วไปครับ สามารถอ่านเพิ่มเติมได้จาก เริ่มต้นใช้ Docker Swarm

Suggestion blogs

Vue.js เริ่มต้น ตอน6 (Computed Properties and Watchers)

ก่อนหน้านี้เราได้เรียนรู้กันไปแล้วว่าใน Template จะจัดการเกี่ยวกับการแสดงผล ซึ่งในบางครั้งเราจําเป็นต้องนํา Logic บางอย่างใส่เข้าไปใน Template ด้วย ซึ่งเราก็จะใส่ไปแบบนี้

วิธีดู keyword ของเว็บ ใน google

สำหรับคนสร้างเว็บ SEO ก็เป็นเรื่องสำคัญที่จะทำให้เว็บเราเป็นที่รู้จัก ยิ่งถ้าเว็บของเราอยู่ในหน้าแรกๆของ google จะทำให้เว็บของเรามีคนเข้ามากขึ้น เราสามารถดู keyword หรือคำค้นหา ทั้งหมดของเว็บเราได้ด้วยการใช้คำค้นหาดังนี้

[ภาษาซี] Storage Class

Storage Class คือ สิ่งที่ใช้กําหนดขอบเขตของตัวแปรว่าจะให้ใครสามารถเข้ามาเรียกใช้งานได้บ้าง และยังสามารถกําหนดระยะเวลาว่าจะให้โปรแกรมเก็บค่าของตัวแปรนั้นไว้นานเท่าไรได้ด้วย Storage Class แบ่งออกเป็น 4 ประเภท คือ


Copyright © 2019 - 2025 thiti.dev |  v1.54.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ