Thuta Learning
Docker
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