มาทดลองเล่น Virtkick กัน

Virtkick เป็น VM management panel หน้าตาละม้ายคล้าย DigitalOcean 😛 ซึ่งทีมพัฒนา Virtkick ได้เปิดระดมทุนไปเมื่อปี 2014 สำหรับท่านที่อยากทดลองใช้งาน Virtkick ว่าเล่นอะไรได้บ้าง สามารถเอาโค้ดชุด Starter Kit มาติดตั้งและทดลองเล่นได้ การติดตั้งทำได้หลายวิธี วิธีการติดตั้งแบบง่ายที่สุดคือการติดตั้งผ่าน Digital Ocean Install Button

Continue reading มาทดลองเล่น Virtkick กัน

เปลี่ยนเครื่องใช้งานแบบรวดเร็วบน Docker Machine

หากคุณใช้งาน Docker อยู่จะทราบว่าเราสามารถใช้ Docker CLI ในการควบคุมเครื่อง Docker Host ที่อยู่อีกเครื่องหนึ่งได้ ผ่านการกำหนดผ่าน ENV ชื่อ DOCKER_HOST ถ้าต้องการใช้เครื่องไหน ก็ต้องเปลี่ยนทุกครั้ง ถ้าคุณใช้ Docker Machine แล้วมีเครื่องอยู่หลายตัว Deploy อยู่บน Cloud Provider หลายค่าย แล้วจำ IP Address และ Port ไม่ได้ก็ยิ่งสร้างความลำบากให้กับชีวิตมากขึ้น
วิธีการง่ายๆ ในการเปลี่ยนเครื่องที่อยากจะใช้งานให้ได้อย่างรวดเร็วมี 2 ทางเลือก

  • ใช้ Swarm
  • ใช้ ENV ของ Docker Machine

Docker Machine มี option ชื่อ env เราสามารถใช้ความสามารถนี้กำหนด ENV ให้กับ Docker CLI ได้ ตอนนี้เรามีเครื่องอยู่ 5 เครื่อง

Continue reading เปลี่ยนเครื่องใช้งานแบบรวดเร็วบน Docker Machine

มาเล่น Hugo ผ่าน Docker กัน

Hugo เป็น CMS ขนาดเล็กพัฒนาจากภาษา Go ไม่มีการเชื่อมต่อฐานข้อมูลใช้ไฟล์ TOML และ Markdown เป็นหลัก การเพิ่มหน้าเว็บหรือเนื้อหาในรูปแบบ post ต้องใช้ไฟล์ทั้งหมด และทุกครั้งที่มีการเปลี่ยนแปลง content ของเว็บไซต์ Hugo จะสร้างหน้าเว็บในรูปแบบ html ออกมาให้ ทำให้การแสดงผลเว็บไซต์ทำงานได้อย่างรวดเร็ว การติดตั้ง Hugo ต้องใช้ Go และไฟล์เนื้อหาของเว็บที่คุณต้องการ
เราสามารถลดความยุ่งยากในการติดตั้ง Go และ Hugo ได้ โดยใช้ Docker Image ชื่อ redlinemobi/docker-hugo วิธีการใช้งานก็สั่ง run ก็ง่ายๆ แบบนี้
docker run -d -P --name hugoblog redlinemobi/docker-hugo
Continue reading มาเล่น Hugo ผ่าน Docker กัน

Scaling Docker ด้วย Swarm

ครั้งที่แล้วได้ทดลองใช้งาน Docker Swarm ไปบ้างแล้ว ครั้งนี้มาลองดูวิธีการใช้แบบอื่นๆ บ้าง หากคุณยังไม่ได้ติดตั้ง Swarm และผูก Docker Cluster ไว้ให้ตามอ่านเนื้อหาในครั้งก่อน เมื่อผูก cluster เรียบร้อยแล้ว มีทางเลือกในการใช้งานกับ cluster 2 แบบ คือ

  • ใช้งานผ่าน swarm โดยใช้ docker แบบปกติ
  • ใช้งานผ่าน swarm โดยใช้ docker-compose

การใช้งาน 2 วิธีนี้สามารถใช้งานร่วมกันได้ หากคุณใช้ docker แบบปกติสั่ง run container คุณสามารถกำหนด constraint หรือ affinity ร่วมด้วยได้ เช่น ต้องการใช้ compose ช่วยในการ deploy web หรือ scale web ก็สามารถทำได้
Continue reading Scaling Docker ด้วย Swarm

มาเล่น DO Install Button กัน

Do Install Button เป็นบริการ deploy application บน DigitalOcean แบบง่ายๆ โดยเอา code จาก GitHub ไป deploy การใช้งานก็ง่ายมาก เพียงแค่สร้างไฟล์ config ที่ระบุขนาดของ Virtual Machine ระบบปฏิบัติการที่ต้องใช้ และ build step ในการ deploy ลองดูตัวอย่าง Node.js App ง่ายๆ กัน

Continue reading มาเล่น DO Install Button กัน

มาเล่น Docker Machine + Swarm + Compose กัน

ครั้งที่แล้วได้แนะนำการใช้งาน Docker Machine ไปหลายครั้งบน Public Cloud หลายค่าย เช่น Azure, Rackspace, DigitalOcean เป็นต้น แนะนำการผูก Docker Cluster โดนใช้ Docker Swarm และใช้งาน Service Orchestration โดยใช้ Docker Composer กันไปแล้ว ครั้งนี้จะมาแนะนำการใช้งานร่วมกันทั้ง 3 Service
เริ่มจากสร้าง Cluster และ Swarm Master บน DigitalOcean
docker run swarm create

Continue reading มาเล่น Docker Machine + Swarm + Compose กัน

มาเล่น Docker Compose กัน

Docker Compose เป็น Orchestration Tool ที่ Docker ออกมาให้ใช้งานกัน ซึ่งใช้วิธีการเดียวกันกับ Fig โดยสามารถสั่ง build, deploy, link และกำหนด volume ผ่าน config แบบ yaml ได้ง่ายๆ ใครที่เคยใช้ Fig อยู่ก็ปรับตัวนิดหน่อยครับ มาลองดูตัวอย่างการใช้งานกันบ้าง ตัวอย่างเป็น python webapp ง่ายๆ เก็บข้อมูลลง redis ดังนี้
สร้าง directory เก็บ webapp นี้ก่อน
mkdir webapp
cd webapp
จากนั้นสร้างไฟล์ app.py
Continue reading มาเล่น Docker Compose กัน

มาเล่น Docker Machine และ Swarm กัน

ครั้งที่แล้วพาเล่น Docker Machine ทั่งบน Digital Ocean, Azure และ Rackspace ครั้งนี้จะมาแนะนำ Docker Swarm ตัว Docker Swarm ทำหน้าที่คล้ายกับ etcd ใน CoreOS เพื่อใช้ในการผูก Cluster โดยใช้ Service เป็นหลัก ซึ่ง Docker Hub จะให้บริการ service discovery ให้ ซึ่งผู้ใช้สามารถเรียกใช้ Swarm ได้ผ่าน Docker Image หรือใช้งานร่วมกับ Docker Machine ได้เช่นเดียวกัน 8ครั้งนี้เราจะใช้ Machine กับ Digital Ocean ติดตั้งเครื่องมือที่ต้องใช้กันก่อน
ติดตั้ง Docker Machine ดังนี้
wget https://github.com/docker/machine/releases/download/v0.1.0/docker-machine_linux-amd64 -O /usr/local/bin/docker-machine
จากนั้นขอ UUID ของ Cluster ดังนี้
docker run swarm create

Continue reading มาเล่น Docker Machine และ Swarm กัน