docker Archive

บันทึกการย้ายระบบงานไปยัง Firebase Hosting และ Google Cloud Run

ช่วงหยุด 3 วันที่ผ่านมา ที่บริษัทนัดกันมาเรียนรู้และลงมือทำสิ่งใหม่ ๆโดยพยายามที่จะพัฒนาระบบงานขึ้นมาแบบที่อยากได้ มีส่วนการทำงานดังนี้ Frontend เป็น web application พัฒนาด้วย Angular 8 Backend เป็น RESTFul API พัฒนาด้วยภาษา Go

Read More…

[Golang] ว่าง ๆ มาทำ Integration test ด้วย TestContainer กัน

หลังจากก่อนหน้านี้ เขียนอธิบายการทำ Integration test ด้วย TestContainer กับภาษา Javaตอนนี้ทางผู้พัฒนาได้เพิ่มสำหรับภาษา Go เข้ามาให้แล้ว ชื่อว่า TestContainer Goจะรอช้าทำไม ลองไปใช้งานกันหน่อย

Read More…

จัดการ Log จาก Docker container ด้วย Fluentd

วันนี้มีคำถามเกี่ยวกับการจัดการกับ log ต่าง ๆ ของ Docker container แน่นอนว่า มีการจัดการหลายแบบ ยกตัวอย่างเช่น การ map path ของไฟล์ log ออกมา ใช้ agent หรือตัว shipper ในการขนออกมา เช่น LogStash, Beats และ Fluentd เป็นต้น มาดูตัวอย่างของการนำ Fluentd มาใช้กันหน่อย

Read More…

แนะนำ VulnerableContainers.org เพื่อตรวจสอบความปลอดภัยของ Docker Container

เรื่องของ Docker นั้นน่าจะเป็นสิ่งที่ทุกองค์กรต้องมีความรู้อยู่แล้วทำให้ปัญหาที่ตามมาเยอะขึ้นคือ Security หรือความปลอดภัย แน่นอนว่า  โลกของ container นั้นยังใหม่ ทำให้มีช่องโหว่ให้โจมตีเยอะเลย ส่งผลให้เกิดเครื่องมือต่าง ๆ ด้วย security ขึ้นมาเพียบ หนึ่งในนั้นคือ  Vulnerablecontainers.org

Read More…

สิ่งที่น่าสนใจจากบทความเรื่อง Intro Guide to Dockerfile Best Practices

จากบทความเรื่อง  Intro Guide to Dockerfile Best Practices แนะนำการเขียน Dockerfile ที่ถูกต้อง แน่นอนว่า มันช่วยทำให้เราเข้าใจกลไกการทำงานของมันมากยิ่งขึ้น โดยที่ Dockerfile มันคือไฟล์ที่ใช้สร้าง Docker image อีกที หรืออาจจะเรียกว่า คู่มือหรือสูตรของการทำงานอาหาร แต่อาหารในที่นี่คือ Docker image

Read More…

กำหนดลำดับการ start ของ service ใน Docker compose ให้ถูกต้อง

ปัญหาหนึ่งที่ได้มักเจอเมื่อใช้งาน Docker compose คือ ลำดับการ start ของ service ต่าง ๆ นั่นเอง แน่นอนว่าใน docker compose ก็จะมี depends_on ให้ใช้งาน แต่ปัญหาก็ยังมีอยู่คือ Service ต่าง ๆ ก็ start ตามลำดับ แต่ว่ามีบาง service ที่ start แล้วแต่ยังไม่พร้อมใช้งาน ซึ่งอาจจะทำให้เกิดปัญหากับ service อื่น ๆ ที่ต้องใช้งานตอน start เช่นกัน

Read More…

มาลองลดขนาด Docker Image ของ Java ด้วย GraalVM กัน

หลังจากที่ติดตั้ง GraalVM ไปแล้ว คิดไม่ออกว่าจะเอาไปทำอะไรบ้าง !! ลองนั่งอ่านไปเรื่อย ๆ ก็พบว่ามี GraalVM Native Image ให้ มี command ชื่อว่า Native Image Generator ให้ใช้ ทำการ compile มายัง native binary ให้เลย นั่นหมายความว่า ถ้าเป็นพวกภาษา Java, Kotlin และ Scala ก็ไม่จำเป็นต้องมี JVM นะสิ

Read More…

สวัสดี Google Cloud Run

ทาง Google Cloud เพิ่งปล่อย Google Cloud Run ใน version beta ให้ใช้งานโดยให้เหล่านักพัฒนาสามารถ run serverless app ที่อยู่ใน Docker container ได้เลย ซึ่ง Google Cloud Run จัดการให้เองแบบอัตโนมัติ คือ เมื่อมี request เข้ามาจะทำการ start ให้เอง และเมื่อไม่มีการใช้งานจะทำการ stop ไปให้อีก ชีวิตน่าจะง่าย สะดวกมากขึ้น

Read More…

แอบไปดู OWASP Docker Top 10 กันหน่อย

จากการไปแนะนำเรื่อง Docker มาก็มีคำถามเรื่อง Security !! ผมก็ไม่ค่อยมีประสบการณ์เรื่องนี้มากนัก แต่ก็ไปเจอว่าทาง OWASP นั้นได้สร้าง project OWASP Docker Top 10 ขึ้นมา เพื่อเป็นแนวทางในการวางแผนและสร้าง container ด้วย Docker อย่างปลอดภัย ซึ่งตอนนี้เป็น Draft version มาดูกันหน่อยว่ามีอะไรกันบ้าง

Read More…

มาใช้งาน Docker Compose บน Kubernetes กัน

สำหรับชาว Docker และ Kubernetes ทาง Docker ได้เปิดและ open source project Docker Compose บน Kubernetes ให้ใช้งานกันแล้ว แน่นอนว่า project นี้พัฒนาด้วยภาษา Go นะครับ ลองไปศึกษา code ได้เลย ทำให้สามารถ deploy ระบบงานบน Kubernetes ด้วย Docker compose ได้ แถมยังช่วยลดงานที่ต้องทำผ่าน kubectl ไปได้เยอะเลย เนื่องจาก Kubernetes นั้นมี object เยอะมาก ๆ เช่น Pods, Service, Deployment, Config และ ResourceQuota เป็นต้น มาใช้งานกัน

Read More…