Thuta Learning
ရှာဖွေရန်
IntermediateDevOps & Toolsintermediate

Volumes

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

Container များသည် ယာယီသဘောရှိပါတယ်။ Container ကိုဖျက်လိုက်ရင် container filesystem ထဲက data များပါပျောက်နိုင်ပါတယ်။ Database data, uploaded files, config files, development source code တွေကို container အပြင်ဘက်မှာသိမ်းချင်ရင် Volumes သို့မဟုတ် bind mounts ကိုသုံးရပါတယ်။

dockerfile
# Create a named volume
docker volume create app-data

# Mount the named volume into a container
docker run --name data-demo -v app-data:/app/data alpine sh -c "echo saved > /app/data/message.txt"

# Read the saved file with a new container
docker run --rm -v app-data:/app/data alpine cat /app/data/message.txt

app-data ဆိုတဲ့ named volume ကိုဖန်တီးပြီး container ထဲက /app/data နေရာမှာချိတ်ထားပါတယ်။ Container အသစ်နဲ့ဖတ်ကြည့်တဲ့အခါ file ကရှိနေသေးတာကိုမြင်ရပါမယ်။

You should see
Terminal တွင် saved ဟုပေါ်လာပါမယ်။ Container တစ်ခုဖျက်ပြီး နောက် container တစ်ခုနဲ့ဖတ်တာတောင် data ကျန်နေကြောင်းပြပါတယ်။

Info

Development မှာ source code live update လုပ်ချင်ရင် bind mount -v ./src:/app/src ကိုသုံးတတ်ပါတယ်။ Database data မပျောက်စေချင်ရင် named volume သုံးတာပိုသင့်ပါတယ်။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Volume path မှားရေးမိရင် data ကိုသိမ်းချင်တဲ့နေရာမှာမသိမ်းဘဲ container ထဲမှာပဲကျန်နိုင်ပါတယ်။ Database container တွေမှာ official image documentation ထဲက data directory ကိုသေချာစစ်ပါ။
Volumes | Thuta Learning