Containers, Images & Essential CLI Commands
Images vs. Containers (Class vs. Instance)
Section titled “Images vs. Containers (Class vs. Instance)”Object-Oriented Programming (OOP) သဘောတရားအတိုင်း နှိုင်းယှဉ်ပါက:
- Docker Image: Class သို့မဟုတ် Blueprint နှင့် တူပါတယ်။ Read-only ဖြစ်ပြီး Application တည်ဆောက်ရန် ညွှန်ကြားချက်များ ပါဝင်သည်။
- Docker Container: Object သို့မဟုတ် Instance နှင့် တူပါတယ်။ Image မှတစ်ဆင့် ရယူ၍ တကယ့် Process အဖြစ် အသက်ဝင် run နေသော အခြေအနေ ဖြစ်ပါတယ်။
Docker Image (Template) ----[ docker run ]----> Docker Container (Running Application)Docker Registry (Docker Hub)
Section titled “Docker Registry (Docker Hub)”Docker Hub (hub.docker.com) ဆိုသည်မှာ Developer များ ဖန်တီးထားသော အဆင်သင့်သုံး Docker Images များကို သိမ်းဆည်းရာ Public Registry ဖြစ်ပါသည် (GitHub နှင့် သဘောတရား တူသည်)။
ဥပမာ - nginx, node, postgres, redis, python စသည့် Official Images များကို အသင့် Pull ယူ၍ သုံးနိုင်ပါတယ်။
မဖြစ်မနေ သိထားရမည့် Docker CLI Commands များ
Section titled “မဖြစ်မနေ သိထားရမည့် Docker CLI Commands များ”1. Containers Run ခြင်းနှင့် စီမံခြင်း
Section titled “1. Containers Run ခြင်းနှင့် စီမံခြင်း”# Docker Hub မှ Nginx Image ကို ယူ၍ Container အဖြစ် Run ခြင်းdocker run -d -p 8080:80 --name my-web-server nginx
# လက်ရှိ Run နေသော Containers များကို ကြည့်ခြင်းdocker ps
# ရပ်တန့်ထားသော Containers များပါ အားလုံး ကြည့်ခြင်းdocker ps -a
# Container များကို ရပ်တန့်ခြင်း / ပြန်လည် စတင်ခြင်းdocker stop my-web-serverdocker start my-web-server
# Container ကို ဖျက်ပစ်ခြင်းdocker rm my-web-server2. Images စီမံခြင်း
Section titled “2. Images စီမံခြင်း”# Docker Hub မှ Image ကို ဆွဲယူခြင်းdocker pull postgres:15
# စက်ထဲရှိ Images များ စာရင်း ကြည့်ခြင်းdocker images
# Image ကို ဖျက်ပစ်ခြင်းdocker rmi postgres:153. Container အတွင်းသို့ ဝင်ရောက်ခြင်းနှင့် Logs ကြည့်ခြင်း
Section titled “3. Container အတွင်းသို့ ဝင်ရောက်ခြင်းနှင့် Logs ကြည့်ခြင်း”# Container ၏ Output Logs များကို ကြည့်ခြင်းdocker logs -f my-web-server
# Container အတွင်းရှိ Terminal သို့ ဝင်ရောက်ခြင်းdocker exec -it my-web-server bash