Push Image
เป็นการนำ container image ขึ้นไปเก็บบน registry เพื่อที่จะสามารถนำ image ไปรันในที่อื่น ๆ ได้ง่ายขึ้น
Container Registry
Container registry คือ สถานที่ที่เก็บ container image ไว้ซึ่งจะมีอยู่ 2 แบบ ได้แก่
Public Registry
เป็น registry ที่เอาไว้ใช้งานส่วนตัวหรือกับทีมเล็ก ๆ ที่ต้องการใช้งาน registry แบบง่าย ๆ ซึ่ง image ที่เก็บใน public registry นั้น ทุกคนสามารถเข้าถึงได้ ในการจัดการการเข้าถึงอาจจะต้องใช้ private registry แทน
Private Registry
เป็น registry ที่เพิ่มเรื่องความปลอดภัยเข้ามา ไม่ว่าจะเป็นการจัดการ user หรือการจัดการ image ที่เก็บไว้ใน registry นั้น ๆ โดยทั่วไปจะใช้เป็น registry สำหรับเก็บ image ที่เป็น private หรือเป็น image ที่เก็บไว้เพื่อใช้งานในทีมเท่านั้น registry ประเภทนี้มีให้บริการทั้งแบบ cloud และ on-premise
AtlasX Container Registry Authentication
บน AtlasX เองก็มี registry สำหรับเก็บ container image อยู่ ในการใช้งานจะต้องมีการ authenticate ก่อน ซึ่งทำได้โดย
docker login atlasx-registry.cdg.co.thจะมี prompt ให้กรอก username, password และ email
- Username: 00xxx
- Password: รหัสผ่านสำหรับล็อกอินเข้าระบบ Intranet ของ CDG
Push Image to AtlasX Container Registry
1. Prepare Image Tag
ในการ push image ไปยัง registry ของ AtlasX จะต้องมีการ tag image เพื่อระบุ registry ของ image ก่อน ซึ่งจะมีรูปแบบดังนี้ <REGISTRY>/<ORG_NAME OR PROJECT_NAME>/<IMAGE_NAME>:<TAG> เช่น atlasx-registry.cdg.co.th/atlasx/webapp:1.0.0
Note
เราแนะนำให้กำหนดชื่อ Organization ให้เป็นชื่อโครงการที่พัฒนาอยู่ เพื่อง่ายต่อการจัดเก็บและจัดการใน registry
เช่น ถ้าเราพัฒนาโครงการ MEA ให้กำหนดชื่อ tag image เป็น
atlasx-registry.cdg.co.th/MEA/webapp:1.0.0
ในการตรวจสอบว่ามี image อะไรอยู่ในเครื่องเราบ้าง ให้ใช้คำสั่ง
docker imagesจะแสดง image ทั้งหมดในเครื่อง
REPOSITORY TAG IMAGE ID CREATED SIZE
atlasx-webapp 1.0.0 55849ef1629e 27 hours ago 63.8MB
atlasx-webservice 1.0.0 4eaa127731f4 28 hours ago 164MBในการ tag image เพิ่มจาก image ที่มีอยู่แล้ว ให้ใช้คำสั่ง
docker tag <IMAGE_ID> <REGISTRY>/<ORG_NAME OR PROJECT_NAME>/<IMAGE_NAME>:<TAG>เช่น
docker tag 55849ef1629e atlasx-registry.cdg.co.th/atlasx/webapp:1.0.0จากนั้นตรวจสอบ image อีกครั้ง ด้วยคำสั่ง docker images จะเห็นว่า image มี tag ใหม่เพิ่มขึ้นมาเรียบร้อยแล้ว
REPOSITORY TAG IMAGE ID CREATED SIZE
atlasx-registry.cdg.co.th/atlasx/webapp 1.0.0 55849ef1629e 28 hours ago 63.8MB
atlasx-webapp 1.0.0 55849ef1629e 28 hours ago 63.8MB
atlasx-webservice 1.0.0 4eaa127731f4 28 hours ago 164MB2. Push Image to Registry
ในการ push image ไปยัง registry ของ AtlasX ให้ใช้คำสั่ง
docker push <REGISTRY>/<ORG_NAME OR PROJECT_NAME>/<IMAGE_NAME>:<TAG>เช่น
docker push atlasx-registry.cdg.co.th/atlasx/webapp:1.0.0จะมีข้อความแสดงผลดังนี้ แสดงว่าการ push image เข้าไปยัง registry สำเร็จ
The push refers to repository [atlasx-registry.cdg.co.th/atlasx/webapp]
83950b155eec: Pushed
9fa83e6f16d8: Pushed
0618d1e529fa: Pushed
6e96dd581d79: Pushed
acf5e0b2cf08: Pushed
d51445d70778: Pushed
b96b16a53835: Pushed
994393dc58e7: Pushed
1.0.0: digest: sha256:13a44b7636ee98f04ccd8eddb4461c17f83d0df909a4000ee8945bf5973ee2c5 size: 1987