Skip to content
CodeSook
CodeSook

02.1 Setup Dockerhub Token

สร้าง Docker Hub token

อย่างแรกเราจะมาสร้าง Docker Hub token กัน เริ่มจากไปที่เว็บไซต์ของ Docker Hub และทำการ log in หรือ signup หากยังไม่เคยสมัคร

จากนั้นให้เรากดที่โปรไฟล์ของเรามุมขวาบน และกดเข้าไปที่ Account settings

จากนั้นกดไปที่ Personal access tokens ในเมนูด้านซ้าย และกดปุ่ม Generate new token ด้านขวาบน

ให้เราใส่ description ให้ token จะได้จำได้ว่าใช้สำหรับอะไร จากนั้นกำหนดวันหมดอายุ และ permission ผมจะใส่ description เป็น demo-token ไม่กำหนดวันหมดอายุ และให้ให้สิทธิ์ในการ Read, Write, Delete

หลังจากนั้นเราก็จะได้ access token ของเราเรียบร้อย จากนั้นให้เรา copy สิ่งนี้ไว้และเก็บไว้ให้ดี เพราะเราจะต้องนำสิ่งนี้ไปใส่ไว้ใน Github Actions Secrets and variables ในอนาคต


สร้าง Docker image

ก่อนที่เราจะ push docker image ขั้นไปได้ แน่นอนว่าเราต้องสร้างมันขึ้นมาก่อน โดยใช้คำสั่ง docker build เมื่อเรามี Dockerfile แล้ว ให้เราเปิด terminal แล้วไปที่โฟลเดอร์โปรเจกต์ (ซึ่งมี Dockerfile อยู่) จากนั้นรันคำสั่งนี้:

Terminal window
docker build -t <docker-username>/<image-name> .
  • -t → ตั้งชื่อ image
  • <docker-username>/<image-name> → ใส่ Docker Hub username + ชื่อ image (เช่น codesook/demo)
  • . → หมายถึง Dockerfile อยู่ในโฟลเดอร์ปัจจุบัน หรือเราสามารถเปลี่ยนเป็นใส่ path ของโฟล์เดอร์ที่ Dockerfile นั้นอยู่ได้ หากเราไม่ได้อยู่ในโฟลเดอร์นั้น (เช่น ./app)

โดยผมจะรันคำสั่ง docker build -t opomp1/demo . เพราะ docker hub username ของผมคือ opomp1 และผมต้องการตั้งชื่อ image นี้ว่า demo ต่อไปเราจะทำการ push image นี้ขึ้นไปเก็บไว้บน Docker Hub


Login Docker บนเครื่องเราด้วย Docker Hub

การที่จะ Login Docker บนเครื่องเรานั้นมีอยู่ 2 วิธี

วิธีแรกให้เราเปิด Terminal หรือ Command Prompt รันคำสั่งนี้โดยลงท้ายด้วย docker username ของเรา

Terminal window
docker login -u <docker-username>

จากนั้นเราจะต้องพิมพ์ Password ของเราลงไป (หรือเราสามารถก็อป Docker Access Token ที่เราสร้างขึ้นก่อนหน้านี้มาใส่เพื่อใช้แทน Password ได้ด้วยก็ได้) หลังจากนั้นให้กด enter ระหว่างพิมพ์หรือวาง Token อาจจะ ไม่ขึ้นตัวอักษรใด ๆ บนหน้าจอ (อย่าตกใจไป ถือว่าเป็นปกติ เพื่อความปลอดภัย)

เท่านี้ก็ล็อกอินสำเร็จแล้ว

วิธีล็อกอินอีกวิธีคือให้เราพิมพ์

Terminal window
docker login

จากนั้นจะมีลิงค์ขึ้นมาพร้อทกับ confirmation code ให้เรากดลิงค์เผื่อล็อกอินผ่านเว็บ ก็อป confirmation code ไปวาง และกด confirm เท่านี้ก็ล็อกอินได้แล้ว


Upload Docker image ไปที่ Docker Hub

เมื่อเรา docker login สำเร็จแล้ว เราสามารถ push image ของเราขึ้น Docker Hub ได้เลยด้วยคำสั่งนี้

Terminal window
docker push <docker-username>/<image-name>
  • <docker-username> → คือ username ของเราใน Docker Hub
  • <image-name> → ชื่อ image ที่เราตั้งไว้ตอน build (เช่น demo)

โดยของผมจะรันเป็น

Terminal window
docker push opomp1/demo

ตอนนี้ถ้าหากเรากลับเข้าไปดูที่เว็บไซต์ Docker Hub ใน Repositories จะเห็นได้ว่าตอนนี้ image ที่เราได้สร้างและ push ไปนั้นขึ้นมาอยู่บน Docker Hub เรียบร้อยแล้ว