📢Docker Push

ส่ง 🖼️ Container Images ให้คนอื่นได้ใช้กัน

🤠 จาก บทความที่ 6arrow-up-right เราได้ลองสร้าง 🖼️ Container Images ตัวแรกของเราไปเรียบร้อยแล้ว ดังนั้นในบทความนี้เราก็ส่งมันไปให้ชาวโลกได้ลองเล่น 🖼️ Container Images ของเราดูบ้างกัลล์

circle-check

🚨 Prerequisites

หากใครยังไม่ได้สร้าง 🖼️ Container Images รบกวนไปสร้างให้เรียบร้อยก่อน ซึ่งสามารถทำตามได้จาก บทความที่ 6arrow-up-right กั๊ฟ แต่ถ้าอยากรู้แค่ขั้นตอนก็อ่านดูแต่ละ step ก็ได้เหมียนกัลล์

ก่อนที่จะไปต่อ ลองตรวจสอบ Image ที่อยู่ในเครื่องกันโหน่ย ด้วยคำสั่งลิสต์รายการ Images ด้านล่าง

docker images

จากรูปด้านก็จะเห็นว่า ในเครื่องของ ดช.แมวน้ำ มี 🖼️ Container Images อยู่ 2 ตัว โดยตัวที่ป๋มจะส่งไปให้ชาวโลกเห็นคือตัว demo01 ซึ่งใน บทความที่ 5arrow-up-right เราจะรู้ว่าพี่วาฬ 🐳 นั้นเก็บ Images ต่างๆทั่วโลกไว้ที่ 🗃️ Docker Registry หรือที่เราเรียกกันติดปากว่า 🌎 Docker Hub นั่นเอง

จากที่ร่ายมาทั้งหมดนั่นหมายความว่าเราจะต้องส่ง 🖼️ Container Image ของเราไปเก็บไว้ที่ 🌎 Docker Hub ดังนั้นเราก็ต้องมี Account ของเขาเสียก่อน

🔑 Docker Hub Sign-Up

ขั้นตอนสมัครสมาชิกค่อนข้างเรียบง่าย ดังนั้นเหล่าผองแมวน้ำรบกวนไปสมัครยืนยันอีเมล์กันเองได้จากลิงค์นี้เบย https://hub.docker.comarrow-up-right แล้วเมื่อสมัครเสร็จก็กลับมา Login ต่อที่เครื่องเราได้ละ

🔐 Docker Login

หลังจากที่สมัครสมาชิกเสร็จ เราก็จะมา Login กันโดยเปิดตัว Command Prompt ขึ้นมาแล้วใช้คำสั่ง docker login ตามด้วย username และ password ที่เราตั้งไว้นั่นเอง (ตอนใส่รหัสผ่านมันจะไม่มีตัวอักษรขึ้นมาไม่ต้องตกใจนะ คอมไม่ได้เสีย 🤣)

Login Succeeded

ส่วนใครไม่ถนัดใช้ Command ก็สามารถคลิกขวาที่ไอคอนปลาวาฬ แล้วทำการ Login จากตรงนั้นก็ได้เช่นกันฮัฟ

เมื่อ Login เสร็จเรียบร้อยถัดไปเราก็จะเริ่มเอา 🖼️ Container Image ของเราส่งขึ้นไปเก็บไว้ที่ 🌎 Docker Hub กันต่อเลย

🐳 Docker Tag

ก่อนอื่นเราต้องเตรียม 🖼️ Container Image ต่ออีกนิดหน่อย โดยการติดสิ่งที่เรียกว่า tag เสียก่อน เพื่อเป็นการบอกว่าเรากำลังจะเอา 🖼️ Container Image ตัวไหนในเครื่อง ไปใส่ตัวไหนที่อยู่บน 🌎 Docker Hub

ซึ่งรายละเอียดเรื่อง tag มันจะคล้ายๆกับการทำเวอร์ชั่น เช่น ตัวนี้เป็นเวอร์ชั่น 1 นะ ตัวนี้เป็นเวอร์ชั่นทดสอบนะ บลาๆ ซึ่งก่อนที่เราจะไปต่อป๋มขอแสดงรายการ 🖼️ Container Image ที่อยู่ในเครื่องอีกครั้งก่อน จะได้ไม่ต้องเลื่อนขึ้นๆลงๆไปมาด้วยคำสั่ง docker images ก็จะเห็นตามรูปด้านล่าง

คราวนี้เราจะใช้คำสั่ง docker tag แล้วตามด้วย ชื่อ image ในเครื่องของเรา กับ ชื่อ image ใน docker แบบตัวอย่างด้านล่างนี้ (ชื่อ image ใน docker จะต้องนำหน้าด้วย username ของเราเสมอ)

จากคำสั่งด้านบนมันก็จะเป็นการทำให้ docker ในเครื่องเรารู้ละว่าเจ้า 🖼️ Container Image ที่ชื่อว่า demo01 ถ้ามันถูกเอาขึ้น 🌎 Docker Hub มันจะถูกเอาไปเก็บใน account ของ saladpuk แล้วเก็บไว้ในตัวที่ชื่อว่า demo01 ตามรูปด้านล่างนั่นเอง

🐳 Docker Push

หลังจากที่เราตั้ง tag เรียบร้อย ลองดูรายการ 🖼️ Container Images ในเครื่องเราอีกครั้งก็จะเห็นเจ้า tag ใหม่ที่พึ่งสร้างมาด้วยตามรูปด้านล่างเลย ซึ่งสังเกตได้ว่า Image Id มันจะเป็นเลขเดียวกัน

คราวนี้เราก็จะเอาตัว demo01 ไปฝากไว้กับ 🌎 Docker Hub ด้วยคำสั่ง docker push ตามคำสั่งด้านล่าง

เมื่ออัพโหลดทุกอย่างเสร็จสิ้้นก็หมายความว่าตัว 🖼️ Container Image ของเรานั้นไปอยู่กับพี่วาฬเรียบร้อยแล้วนั่นเอง ซึ่งเพื่อนๆสามารถเข้าไปดูได้ที่ลิงค์นี้ https://hub.docker.com/r/saladpuk/demo01arrow-up-right เย่ๆ

ลิงค์นี้อาจจะไม่อยู่แล้วถ้าเลยเดือนเมษา 2021 เพราะป๋มน่าจะไม่ได้อัพเดทมันนะกั๊ฟ 😢

triangle-exclamation

ส่วนสำหรับใครที่ไม่อยากจะให้คนอื่นแอบเข้ามาใช้ Container Image ของเราก็สามารถตั้งค่าให้เป็น private ได้จากที่เว็บ docker hub ตามรูปด้านล่างได้เลยฮัฟ

🐳 Docker Pull

สุดท้ายเมื่อเราเอาขึ้นไปละ ก็ลองเอามาเล่นซะหน่อยดิ๊ แต่ถ้าจะเอามาเล่นในเครื่องตัวเองก็คงจะได้ผลลัพท์เหมือนเดิม ดังนั้นในรอบนี้เราจะลองใช้คอมพิวเตอร์เครื่องอื่นมาเล่น Container Image ของเรากันดีก่า โดยการกดเข้าไปที่ลิงค์นี้เบย https://labs.play-with-docker.comarrow-up-right ซึ่งเมื่อเข้ามาก็ Login > Start ให้เรียบร้อยครัช

หลังจาก Login เสร็จให้กดปุ่ม + ADD NEW INSTANCE เพื่อสร้างเครื่อง Linux จำลองขึ้นมาเลย (ใครไม่เคยใช้ Linux ก็จะได้ใช้ตอนนี้แหละ 🤣) โดยเราสามารถใช้งานได้ 4 ชมเต็มๆตามรูปด้านล่าง

จากตรงนี้เราก็จะลองเอา Container Image ของเรามาลองเล่นดู โดยที่หน้าจอดำๆของเครื่อง Linux ให้ใช้คำสั่งด้านล่างเพื่อ Run ตัว Container ของป๋มเล่นดู

Counter: 1 Counter: 2 Counter: 3 ...

เราก็จะเห็นว่าตัว Container Image ของเราสามารถทำงานได้เหมือนกับที่อยู่ในเครื่องของเรา แม้ว่าเครื่องที่ ดช.แมวน้ำ ทำเป็นตัวอย่างนั้นจะใช้ Windows OS ก็ยังสามารถไปทำงานบน Linux OS ได้เป็นปรกตินั่นเองครัช

🎯 Summary

จากตรงนี้เราก็น่าจะพอเห็นแนวทางในการเอา 🖼️ Container Image ของเราไปแชร์ให้คนอื่นได้ลองใช้ หรือเอาไปลองทำงานบนเครื่องอื่นๆกันแล้วนะ ซึ่งการที่เราจะทำแบบนั้นได้ก็ต้องมีการสร้าง 🔐 Docker Account นิดหน่อย เพื่อที่จะเข้าไปใช้งาน 🌎 Docker Hub ได้นั่นเอง

ในบทความถัดไปเราจะมาลองดูกันว่า ถ้าเรามีโปรเจคที่ใช้ Docker หลายๆตัว เช่นมี Front-end, Back-end มีการต่อ Database ต่างๆนาๆ ซึ่งทั้งหมดนั่นเราจะเอาไปทำงานบน Docker ได้ยังไง ก็เชิญอ่านได้จากบทความถัดไปขอรับ (ใจเย็นๆนะโยม บทความถัดไปกำลังเขียนอยู่)

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

Last updated

Was this helpful?