Docker 1.8 ออกมาพร้อมกับการรองรับการใช้งานร่วมกับ Graylog ทำให้เราสามารถทำ Centralized Log และ Log Analized ของ Container บน Graylog ได้เลย เพียงแค่กำหนด —log-driver และ –log-opt ตอนสั่ง run เท่านั้น เรียกได้ว่าง่ายมากๆ มาลองเล่นกันดีกว่า ท่านที่ไม่มี Graylog สามารถใช้ Docker Image จาก Docker Hub มาทดลองกันได้

มาติดตั้ง Graylog ดังนี้

docker run -t -p 9000:9000 -p 12201:12201 graylog2/allinone


Continue reading

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

หลายคนใช้ 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 ได้เช่นกัน

ครั้งที่แล้วพาเล่น 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.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

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


Continue reading

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, Docker Compose ให้เรียบร้อยก่อน

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

curl -L https://github.com/docker/compose/releases/download/1.3.1/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 แบบ 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

Center for Internet Security และ Docker ได้ออกเครื่องมือ Docker Bench for Security ช่วยทำ Secuirty Benchmark สำหรับ Docker 1.6 ซึ่งอ้างอิงจากเอกสาร Container Security และ CIS Docker 1.6 Benchmark ทำให้ผู้ดูแลระบบสามารถตรวจสอบความปลอดภัยของ Docker Host ได้

CIS Docker 1.6 Benchmark จะมี Key ที่ใช้ในการตรวจสอบอยู่ 6 ส่วน ได้แก่

  1. Host Configuration
  2. Docker daemon configuration
  3. Docker deamon configuration files
  4. Container images and build files
  5. Container runtime
  6. Docker security operations


Continue reading

Quay.io เป็นบริการ Docker Repository ทั้งในแบบ Public และ Private Repository ปัจจุบันให้บริการโดย CoreOS การใช้งาน Quay.io คุณสามารถสร้าง Docker Image ได้หลายแบบ เช่น การใช้ Dockerfile หรือ ผูก Git Repository ต่างๆ เช่น GitHub, Bitbucket, GitLab หรือ Git Repository ของคุณเองก็ได้ สำหรับการใช้งานก็ง่ายมาก สมัครสมาชิกหรือใช้ GitHub, Google Account สำหรับ Sign In ก็ได้


Continue reading

ตามอัพเดท Kitematic ช้ากว่าคนอื่นเลยตามเก็บตกความสามารถใหม่กันสักหน่อย Kitematic รุ่นใหม่สามารถ Login เพื่อเชื่อมต่อกับ Docker Hub และเรียกใช้ Repository ของเราได้แล้ว…เย้


Continue reading

การใช้งาน Docker บน Azure ทำได้หลายวิธี ใช้ผ่าน CoreOS ที่มี Docker อยู่แล้ว หรือการสร้าง Ubuntu Instance แล้วค่อยติดตั้ง Docker ลงไปอีกที หรือใช้ Docker Machine ซึ่งก็ตามความสะดวกของแต่ละท่าน สำหรับท่านที่ชอบใช้งานผ่านหน้าเว็บก็สามารถสร้าง Instance ทีี่มี Docker มาพร้อมได้เลย มีข้อแม้ว่าจะต้องเรียกผ่านหน้า Azure Portal ตัวใหม่เท่านั้น

วิธีการสร้างก็ง่ายมาก ก่อนอื่นต้องหา Docker ให้เจอก่อน กด +New > Compute > Azure Marketplace


Continue reading