docker Archive

ลองทำการ build/deploy ระบบที่พัฒนาด้วย OpenFaaS

ระบบงานี่พัฒนาด้วย OpenFaaS นั้น ในการ build และ deploy จะสร้าง container image ในรูปแบบของ OCI นั่นทำให้เราสามารถ deploy ระบบได้หลากหลายวิธี ยกตัวอย่างเช่น Docker Docker + Buildkit Buildkit standalone Img Pouch Podman Buildah K3s Kanico เยอะไปไหนนะ ? แต่เรามาลอง deploy ด้วยบางตัวกันนิดหน่อย

Read More…

มาลองใช้ Dashboard ใน Docker Desktop 2.2.0 กัน

ก่อนหน้านี้ในการดู image และ container หรือการจัดการเรื่องต่าง ๆ กับ Docker Desktop น่าจะใช้งานทั้งผ่าน command line และ User Interface ซึ่ง User Interface นั้นก็คือ Kitematic แต่ใน Docker Desktop 2.2.0 นั้นได้ปล่อย Dashboard ออกมา แน่นอนว่าถูกยัดเข้าในเลย ไม่ต้องไป download แยกอีกแล้ว ซึ่งมาแทนที่เลย  ดังนั้นมาดูกันว่ามีความสามารถอะไรบ้าง

Read More…

[Docker] มาลองใช้ AdoptOpenJDK กับ OpenJ9 กันหน่อย

จากบทความเรื่อง เปรียบเทียบ JVM OpenJ9 และ HotSpot โดยที่ OpenJ9 เป็นสิ่งที่น่าสนใจมาก ๆ  เป้าหมายหลักของ OpenJ9 คือปรับปรุงการจัดการ resource ต่าง ๆ นั่นเอง ทั้งเรื่องของ startup time และการใช้ memory/cpu น้อยลง ซึ่งช่วยทำให้เหมาะสมต่อการนำไป run บน Cloud และ Container นั่นคือการพยายามทำให้ขนาดของ service ที่พัฒนาด้วยภาษาบน JVM เล็กลง ถึงแม้ว่ามันจะไม่ค่อยเล็กมากก็ตาม !!

Read More…

บันทึกการย้ายระบบงานไปยัง 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…