🗃️ Docker Registry

แหล่งเก็บ Docker Images ที่ใหญ่ที่สุดในโลก 😍

🤠 จาก บทความที่ 3arrow-up-right กับ บทความที่ 4arrow-up-right ที่ได้ลองเล่น 🐳 Docker เราจะพบว่ามันมีขั้นตอนหนึ่งที่พูดถึง 🗃️ Docker Registry รวมอยู่ด้วย ซึ่งจะไม่พูดถึงก็ไม่ได้ เพราะมันเป็นหนึ่งในหัวใจของพี่วาฬน้ำเงินของเราเลยทีเดียว ดังนั้นในบทความนี้เราจะมาลงรายละเอียดกับ 🗃️ Docker Registry กันฮ๊าฟ

circle-check

🚨 เท้าความเดิม

จาก บทความที่ 3arrow-up-right ตอนที่เราใช้คำสั่ง docker pull หรือ docker run ตัวพี่วาฬ 🐳 Docker จะไปตรวจว่าในเครื่องของเรามี 🖼️ Container Image นั้นๆอยู่หรือเปล่า ซึ่งหากไม่มีเขาก็จะไปดาวโหลดมาจาก 🗃️ Docker Registry มาเก็บไว้ในเครื่องตามรูปด้านล่าง

🤠 ตรงจุดนี้จะทำให้เรารู้คร่าวๆละว่า 🗃️ Docker Registry คือแหล่งเก็บ 🖼️ Container Images ที่อยู่บนอินเตอร์เน็ตนั่นเอง ดังนั้นเราจะลองซูมเข้าไปดูว่าข้างในนั้นมันเป็นยังไงบ้างดีกว่า

🗃️ Docker Registry

ถ้าจะอธิบายตรงนี้ ดช.แมวน้ำ อยากให้จินตนาการถึงตอนที่เราเขียนโปรแกรม แล้วอยากเอา package ของคนอื่นที่อยู่บนอินเตอร์เน็ตมาใช้ เราก็จะไปดาวโหลด package พวกนั้นมาจากส่วนกลางของแต่ละภาษา เช่น nugetarrow-up-right, nodejsarrow-up-right, piparrow-up-right, bowerarrow-up-right บลาๆ มาติดตั้งที่โปรเจคของเราชิมิ

จากแนวคิดที่ว่ามาเจ้า 🐳 Docker ก็มีตัวกลางที่เอาไว้เก็บ 🖼️ Container Images ของทุกคนทั่วโลกเช่นกัน ดังนั้นเมื่อมีคนสร้าง 🖼️ Container Image แล้วอยากจะแชร์ให้คนในทีม/ทั่วโลกใช้ เขาก็จะทำการอัพโหลดมันขึ้นมาเก็บที่ 🗃️ Docker Registry นั่นเอง ดังนั้นเวลาที่เราใช้คำสั่งที่เกี่ยวข้องกับ Image แล้วพี่วาฬมองหา Image ในเครื่องไม่เจอ เขาก็จะว่ายน้ำไปตามหา Image ตัวนั้นๆจาก 🗃️ Docker Registry มาให้เรานั่นเอง ตามรูปด้านล่าง

🤠 โดยปรกติถ้าเราพูดคำว่า 🗃️ Docker Registry มันจะหมายถึง 🌎 Docker Hubarrow-up-right ที่เป็นตัวรวม 🖼️ Container Images ของทุกคนทั่วโลก ซึ่งมันมี Container Image อยู่ในนั้นเป็น 1,000,000,000 ล้านตัว+ และมีผู้ใช้เงินเกิน 5 ล้านคนต่อวัน 🤯 ดังนั้นของแทบจะทุกอย่างที่เราอยากได้เกิน 80% น่าจะอยู่บนนั้นหมดแล้วนั่นเอง

https://hub.docker.com

โดยปรกติถ้าเราจะสร้าง 🖼️ Container Image ไปฝากไว้บน 🌎 Docker Hub เราก็สามารถทำได้เลยแถมฟรีด้วย แต่ข้อเสียของมันคือ 👁️ ทุกคนบนโลกมองเห็นและสามารถใช้งานได้นะจ๊ะ (ก็เหมือนฝากโค้ดไว้กับ Git Hub งุย) ซึ่งถ้าเราไม่อยากให้คนอื่นเห็น เช่นงานเราสำคัญมากๆไรงี้ เราต้องจ่ายเงินเพื่อทำเป็น private นั่นเอง

circle-exclamation

🗃️ Container Registry

ถ้าถามว่ามันมีที่เก็บ 🖼️ Container Images แค่ใน 🌎 Docker Hub เพียงที่เดียวหรือเปล่า? คำตอบคือไม่ใช่ เพราะทั่วโลกมีผู้ให้บริการเก็บ Container Image อยู่มากมาย โดยเฉพาะกับเหล่าผู้ให้บริการคลาว์ด ไม่ว่าจะเป็น Microsoft ก็มี ACR (Azure Container Registry)arrow-up-right ส่วน Amazon ก็มี ECR (Elastic Container Registry)arrow-up-right พี่ Google ก็มี CR (Container Registry)arrow-up-right และพี่จีน Alibaba ก็มี CR (Container Registry)arrow-up-right ให้เราได้ลองเลือกใช้กัน 😉

รายละเอียดการเอา 🖼️ Container Image ไปเล่นกับผู้ให้บริการคลาว์ดแต่ละเจ้าได้เห็นแน่นอนแต่ ดช.แมวน้ำ ขอแยกเอาไว้โชว์ในบทความถัดๆไปนะขอรับ

circle-check

🎯 Summary

🗃️ Docker Registry คือส่วนกลางที่เอาไว้เก็บ 🖼️ Container Image จากทั่วโลกไว้บนอินเตอร์เน็ต ซึ่งรู้จักกันในชื่อ 🌎 Docker Hub นั่นเอง แต่ก็ยังมีที่เก็บ 🖼️ Container Image อื่นๆทั่วโลก เช่นจากผู้ให้บริการคลาว์ดอย่าง Microsoft, Amazon, Google และ Alibaba คอยให้เราได้ลองใช้บริการอยู่นั่นเอง

circle-info

หมายเหตุ รายละเอียดของ 🗃️ Docker Registry จริงๆยังมีอีกเยอะเบยที่น่าสนใจ แต่ถ้าเราจะอัดแต่ทฤษฎีเพียงอย่างเดียวก็จะเข้าใจมันได้ไม่เต็มร้อย ดังนั้น ดช.แมวน้ำ จะค่อยๆอธิบายควบคู่กับตอนทำ Workshop ละกันนะจุ๊ฟๆ 😙

ในบทความถัดไปเดี๋ยวเรามาลองสร้าง 🖼️ Container Image ตัวแรกของเรา เพื่อเอาไปใช้งานส่วนตัว หรือ เอาไปใช้ภายในทีมกันครัช

🖼️ Container Imagechevron-right
circle-check
ช่องทางสนับสนุนค่าอาหารแมวน้ำกั๊ฟ 😘

Last updated

Was this helpful?