มาเล่น Docker Trusted Registry กัน

Docker เปิดบริการ Docker Trusted Registry เป็นบริการแบบ Commercial สำหรับองค์กรที่ต้องการการ support จาก Docker โดยตรง ซึ่ง Docker Trusted Registry คุณสามารถใช้บริการผ่าน Cloud Service ต่างๆ ได้ เช่น Amazon Web Service, Azure เป็นต้น และรวมไปถึงการติดตั้ง Registry เองแบบ on-premise ด้วย การ support แบ่งเป็น Plan ต่างๆ ขึ้นอยู่กับความต้องการของคุณครับ

มาเริ่มกันเลย AWS ให้บริการ Docker Trusted Registry แล้วคุณสามารถติดตั้งผ่าน AWS Maketplace หรือจากหน้า Console ก็ได้ ในข่วงที่เขียนบทความนี้ AMI มีบริการเฉพาะใน Zone US East (N.Virginia) และ US West (Oregon, N.California) เท่านั้น
Continue reading

มาเล่น Photon Wifi Dev Kit กัน

เมื่ออาทิตย์ที่แล้วได้ของเล่นใหม่จาก Deaware มา 1 อันเป็น Wifi Dev Kit ชื่อ Photon จากค่าย Particle (หรือชื่อ Spark เดิมนั่นเอง) ผมซื้อต่อจาก Deaware มาในราคาไม่แพงเท่าไรเน้นสนุกไว้ก่อน

คุณสมบัติของ Photon ก็ประมาณนี้

  • เสียบ breadboard ได้
  • ใช้งานได้เหมือนกับ Spark Core
  • ผ่านการรับรองจาก FCC/CE/IC certified
  • ใช้สถาปัตยกรรม STM32F205 ARM Cortex M3
  • ใช้ Broadcom BCM43362 Wi-Fi chip
  • เป็น Open source hardware

Continue reading

Container Pattern

งาน DockerCon 2015 และงาน OSCON 2015 มีหัวข้อเกี่ยวกับ Container Pattern ด้วย ซึ่งน่าสนใจมาก ในงาน conference ทั้ง 2 งานเอาตัวอย่างการใช้งาน Container ในหลายแบบมาให้ดู ซึ่งเป็นแนวทางในการประยุกต์ใช้งาน Container ได้ดีเลยทีเดียว ลองมาดูในแต่ละแบบกัน

Continue reading

เก็บตก OSCON 2015

เนื่องจากตามงาน OSCON 2015 ไม่ทันเพราะต้องไปสัมนาต่างจังหวัดอยู่ 3 วันเลยถือโอกาสแปะ Youtube Playlist เอาไว้ก่อน ว่างๆ จะทะยอยมาสรุปเนื้อหาและเรื่องที่น่าสนใจกันอีกรอบ

DinD – Docker ใน Docker อีกที

หลายคนใช้ Docker Container กันจนเป็นเรื่องปกติ กลายเป็นว่าใช้ Docker Container เป็นตัวติดตั้ง Service ที่ต้องการใช้งาน แบบ Package Manager ไปซะงั้น การใช้งาน Docker บน App Container ก็มีคนใช้เหมือนกัน นึกถึง OpenStack on OpenStack ก็กรณีคล้ายกัน DinD หรือ Docker in Docker ก็มีมานานละ ลองไปค้นใน Docker Hub ก็พบว่ามีเยอะมาก ส่วนใหญ่จะอยู่ในเครื่องมือประเภท CI เช่น Jenkins, Jenkins Slave อะไรประมาณนั้น

เนื่องจากใช้ Jenkins ที่เป็น Container เวลาสั่ง Build Container Image จำเป็นต้องใช้ Docker ซึ่งทำงานอยู่ใน Container อีกที ก็เลยต้องมี Docker ใน App Container ด้วย สำหรับการสร้าง DinD Image คุณสามารถใช้ Image ของ jpetazzo/dind ก็ได้ หรืออยากจะ Build เองตั้งแต่เริ่มต้นก็ดูได้จาก Git Repository โครงการ DinD ได้เช่นกัน

Google ผลลัพท์ภาษาไทย

เพิ่งรู้ว่าค้นหา Google อยากได้ผลลัพท์ภาษาไทยต้องตั้งค่าด้วย ผมใช้ Google มานานมากได้ผลลัพท์ภาษาอังกฤษมาหลายปีละ คิดว่าใช้คำค้นหาเป็นภาษาอังกฤษตลอด ไม่เคยสงสัยตัวเองว่าทำไมหาภาษาไทยไม่ค่อยเจอ เจอภาษาอะไรก็อ่านหมด มาวันนี้ถึงรู้ว่า…มันต้องตั้งค่าก่อน มิน่าล่ะค้นอะไรไม่เจอภาษาไทยเลย เห่อๆ


Continue reading

Microsoft & Docker

ช่วงงาน Docker Con 2015 ที่ผ่านมา Microsoft มาโชว์ Docker Container บน Azure และเครื่องมือที่ช่วยให้ DevOps ทำงานได้ง่ายมากขึ้น เช่น VisualStudio Code รองรับไฟล์ Dockerfile และ Docker Compose แล้ว , VisualStudio Online มี CI ที่รวม Docker เข้าไปด้วย ช่วยให้ Build, Push, Pull, Deploy ใน CI ทำงานได้ง่ายมากขึ้น และสุดท้าย Azure รองรับ Container App แล้ว กดใช้งานได้เลยผ่านหน้า Portal ใหม่

จากที่เล่ามาผมได้ลองอยู่แค่อันเดียวคือ VisualStudio Code มี IntelliSense ใน Dockerfile ในส่วนคำสั่ง แต่ในส่วนชื่อ image มันไม่ขึ้นให้ เดี๋ยวไว้ว่างๆ ค่อยลองใม่

มาเล่น Docker Compose พร้อม reconfig HAProxy ด้วย Interlock กัน

ครั้งที่แล้วพาเล่น HA MQTT Broker ด้วย Docker Compose ครั้งนี้มาแนะนำวิธีการ Reconfig HAProxy ในกรณีที่มีการ Scale In, Scale Out จากการใช้ Docker Compose Scale ขอเปลี่ยนตัวอย่างเป็น WebApp จะได้เข้าใจง่ายๆ WebApp ตัวนี้ expose port 8080 เราสามารถใช้ Interlock ช่วยในการ reconfig HAProxy ในกรณีที่มีการ Scale ไม่ว่าจะ Scale in หรือ Scale out ได้ ครั้งนี้เราจะใช้ Docker Machine, Docke Swarm, Docker Compose และ Interlock

มาลงมือติดตั้ง Docker กันก่อน

wget -qO- https://get.docker.com/ | sh

ตามด้วย Docker Compose

curl -L https://github.com/docker/compose/releases/download/1.3.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

Continue reading

มาเล่น Docker Registry 2 กัน

Docker ประกาศออกรุ่นใหม่ของ Docker Registry พร้อมเปลี่ยนชื่อโครงการเป็น Docker Distribution เพื่อไม่ให้สับสนขอเรียกเป็น Registry 2 ก็แล้วกันครับ สำหรับท่านที่ใช้ Docker 1.6+ จะรองรับ Registry 2 แล้วสำหรับรุ่นต่ำกว่านั้นใช้งานด้วยกันไม่ได้ครับ ในรุ่นใหม่นี้ออกแบบมาเพื่อรองรับ plugin สำหรับ storage แบบต่างๆ ซึ่งแต่ก่อนเน้นที่ Amazon S3 ในรุ่นใหม่นี้รองรับ storage หลายแบบ เช่น file system, Azure Blob Storage, AWS S3, Rados, Redis เป็นต้น ดู configuration เพิ่มเติมได้ครับ

มาลองเล่นกันอันดับแรกติดตั้ง Docker ให้เรียบร้อยก่อน

wget -qO- https://get.docker.com/ | sh

ติดตั้ง Docker Compose ต่อ

curl -L https://github.com/docker/compose/releases/download/1.3.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

มาลองติดตั้งแบบใช้ Docker กันก่อน ใช้คำสั่งดังนี้

docker run -d -p 5000:5000 --restart=always --name registry registry:2

Continue reading

มาเล่น High Availability MQTT Cluster ด้วย Docker Compose กัน

ครั้งที่แล้วแนะนำ High Availability MQTT Cluster แบบ Back to Basic ไว้เนื่องจากจะได้เข้าใจว่าหลักการเป็นอย่างไร ได้ลองติดตั้ง Ponte ตั้งค่า HA Proxy ฯลฯ ครั้งนี้เราจะใช้ Docker Compose ในการสร้าง Container ในส่วน MQTT Broker, HAProxy และ MongoDB สั่งงานครั้งเดียวจบ ตัวอย่างนี้เหมาะสำหรับศึกษาเท่านั้น หากต้องการเอาไปใช้งานควรแยก data volume ของ mongodb ออกมาด้วยครับ

จากภาพเดิมเราจะใช้ Docker Compose สร้าง Container ทั้งหมดขึ้นมาซึ่งประกอบไปด้วย

  • HA Proxy
  • MQTT Broker 1
  • MQTT Broker 2
  • MongoDB

Continue reading