ลุยกันเลยครับ! การเอาขึ้น Cloud ด้วยวิธีนี้คือมาตรฐานที่โปรแกรมเมอร์มืออาชีพระดับโลกใช้กันจริงๆ ครับ (เราเรียกขั้นตอนนี้ว่า Cloud Deployment)
เป้าหมายคือเราจะนำ Docker Image ทั้ง 4 ตัวที่เราเหนื่อยสร้างกันมา (my-ytdlp, my-vcsi, my-mktorrent, my-ffmpeg) ขึ้นไปฝากไว้บนโกดังสาธารณะของ Docker
ทำตาม 4 ขั้นตอนนี้ในเครื่อง Mac ของคุณได้เลยครับ:
ขั้นตอนที่ 1: สมัครสมาชิก Docker Hub (ฟรี)
-
เข้าไปที่เว็บไซต์: https://hub.docker.com/
-
กดปุ่ม Register เพื่อสมัครสมาชิก (แนะนำให้ตั้ง Username ให้จำง่ายๆ เช่น
rachataหรือชื่อแบรนด์ของคุณ เพราะมันจะกลายมาเป็นชื่อโฟลเดอร์เก็บแอปของเราครับ) -
สมัครเสร็จแล้วยืนยันอีเมลให้เรียบร้อย
ขั้นตอนที่ 2: ล็อกอินใน Terminal
เปิดแอป Terminal ใน Mac ของคุณ แล้วพิมพ์คำสั่งนี้เพื่อเชื่อมต่อระบบเข้ากับโกดังของ Docker:
docker login
ระบบจะถามหา Username (ไม่ใช่หน้าอีเมลนะครับ) และ Password ให้กรอกข้อมูลที่คุณเพิ่งสมัครไว้ลงไป ถ้าขึ้นว่า Login Succeeded ถือว่าผ่านครับ!
ขั้นตอนที่ 3: แปะป้ายชื่อใหม่ (Tagging)
เดิมทีแอปเราชื่อ my-vcsi เฉยๆ เราต้องเปลี่ยนชื่อให้ระบบรู้ว่า “นี่คือแอปของใคร” โดยการเติม Username นำหน้าครับ
(⚠️ ข้อสำคัญ: ในคำสั่งด้านล่าง ให้เปลี่ยนคำว่า yourusername เป็น Username ของคุณจริงๆ ที่เพิ่งสมัครมานะครับ)
ก๊อปปี้คำสั่งเหล่านี้ไปวางรันใน Terminal ทีละบรรทัดได้เลยครับ:
docker tag my-ytdlp yourusername/my-ytdlp
docker tag my-vcsi yourusername/my-vcsi
docker tag my-mktorrent yourusername/my-mktorrent
docker tag my-ffmpeg yourusername/my-ffmpeg
ขั้นตอนนี้จะเสร็จไวมาก เพราะมันแค่แปะป้ายชื่อเฉยๆ
ขั้นตอนที่ 4: อัปโหลดขึ้น Cloud (Push)
นี่คือขั้นตอนสุดท้ายและสำคัญที่สุดครับ เราจะยิงไฟล์ขึ้นไปเก็บบน Cloud จริงๆ แล้ว พิมพ์คำสั่งรันทีละบรรทัด (อย่าลืมเปลี่ยน yourusername นะครับ):
docker push yourusername/my-ytdlp
docker push yourusername/my-vcsi
docker push yourusername/my-mktorrent
docker push yourusername/my-ffmpeg
ขั้นตอนนี้อาจจะใช้เวลาสักครู่ ขึ้นอยู่กับความเร็วอินเทอร์เน็ตของคุณครับ เพราะระบบจะอัปโหลดไฟล์ขนาดประมาณตัวละ 5MB – 100MB ขึ้นไปบนเซิร์ฟเวอร์
เมื่อดันไฟล์ขึ้นครบทั้ง 4 ตัวแล้ว ในเว็บ Docker Hub ของคุณจะปรากฏชื่อแอปพลิเคชันเหล่านี้โชว์อยู่ เป็นอันว่า Backend ของเราขึ้นระบบคลาวด์ระดับโลกเรียบร้อย!
อัปโหลดเสร็จเรียบร้อยทั้งหมดไหมครับ หรือว่ามี Error ติดตรงขั้นตอนไหนตอนดันไฟล์ขึ้นไปหรือเปล่า?
