ဖြေရှင်းထားသည်- dockerfile ဥပမာ

Dockerfile ဥပမာတစ်ခုနှင့်ဆက်စပ်သော အဓိကပြဿနာမှာ အသုံးပြုမှုကိစ္စရပ်အားလုံးအတွက် မသင့်လျော်ပေ။ Dockerfile သည် ပုံတစ်ပုံတည်ဆောက်ရန်အသုံးပြုသည့် လမ်းညွှန်ချက်အစုတစ်ခုဖြစ်ပြီး မတူညီသော application များနှင့် ပတ်ဝန်းကျင်များအတွက် စိတ်ကြိုက်ပြင်ဆင်နိုင်ပါသည်။ ထို့ကြောင့်၊ ဥပမာ Dockerfile သည် သင်၏ သီးခြား အပလီကေးရှင်း သို့မဟုတ် ပတ်ဝန်းကျင်အတွက် လိုအပ်သော ညွှန်ကြားချက်များ မပါဝင်နိုင်ပါ။ ထို့အပြင်၊ Dockerfile တစ်ခု၏ syntax သည် Docker ကိုအသုံးပြုနေသည့်ဗားရှင်းပေါ်မူတည်၍ ကွဲပြားနိုင်သည်၊ ထို့ကြောင့် ဗားရှင်းတစ်ခုမှ ဥပမာတစ်ခုသည် အခြားဗားရှင်းတစ်ခုတွင် အလုပ်မဖြစ်နိုင်ပါ။

FROM python:3.7

WORKDIR /app

COPY requirements.txt . 
RUN pip install -r requirements.txt 
COPY . . 
EXPOSE 5000 
ENTRYPOINT ["python"] 
CMD ["app.py"]

1. “FROM python:3.7” – ဤစာကြောင်းသည် Docker container အတွက် အသုံးပြုရန် အခြေခံပုံကို သတ်မှတ်ပေးသည်၊ ဤအခြေအနေတွင် Python ဗားရှင်း 3.7။

2. “WORKDIR /app” – ဤစာကြောင်းသည် ကွန်တိန်နာ၏ အလုပ်လမ်းညွှန်ကို “/app” ဟု သတ်မှတ်သည်။

3. “Copy Requirement.txt” - ဤစာကြောင်းသည် စက်တွင်းစက်မှ “requirements.txt” အမည်ရှိ ဖိုင်ကို ကွန်တိန်နာ၏ လက်ရှိလုပ်ဆောင်နေသော လမ်းညွှန်သို့ ကူးယူသည် (ဤကိစ္စတွင် “/app”)။

4. “RUN pip install -r requirement.txt” – ဤစာကြောင်းသည် လိုအပ်ချက်များ.txt တွင်ဖော်ပြထားသော ပက်ကေ့ဂျ်များအားလုံးကို ကွန်တိန်နာ၏ပတ်ဝန်းကျင်တွင် ထည့်သွင်းရန် pip ကိုအသုံးပြုသည့် ကွန်တိန်နာအတွင်း၌ အမိန့်ပေးသည်။

၅။”မိတ္တူ။ ” - ဤစာကြောင်းသည် သင့်စက်တွင်းရှိ စက်မှ ဖိုင်များနှင့် ဖိုင်တွဲအားလုံးကို သင့်ကွန်တိန်နာ၏ လက်ရှိလုပ်ဆောင်နေသော လမ်းညွှန်ထဲသို့ ကူးယူသည် (ဤကိစ္စတွင် “/app”)။

6.EXPOSE 5000″ – ဤလိုင်းသည် သင်၏ Docker ကွန်တိန်နာတွင် port 5000 ကို ဖော်ထုတ်ပေးပြီး ၎င်းအား ဝဘ်ဘရောက်ဆာ သို့မဟုတ် သင့်ကွန်ပြူတာ သို့မဟုတ် ကွန်ရက်ပေါ်တွင် လုပ်ဆောင်နေသည့် အခြားသော အက်ပ်လီကေးရှင်းများကဲ့သို့ ပြင်ပအရင်းအမြစ်များမှ ဝင်ရောက်ကြည့်ရှုနိုင်စေပါသည်။

7.ENTRYPOINT [“python”]” – ဤစာကြောင်းသည် သင့် Docker container အတွက် entry point ကို သတ်မှတ်ပေးသည်၊ ဆိုလိုသည်မှာ သင် ၎င်းကို run သောအခါ၊ ၎င်းသည် ဤနေရာတွင် သတ်မှတ်ထားသည့် မည်သည့် command ကိုမဆို အလိုအလျောက် လုပ်ဆောင်လိမ့်မည် (ဤကိစ္စတွင်၊ Python ကို အသုံးပြုနေသည်)။

8.CMD [“app.py”]” – နောက်ဆုံးတွင်၊ သင်သည် သင်၏ Docker container ကိုဖွင့်သောအခါတွင် မည်သည့် command ကို လုပ်ဆောင်သင့်သည် (ဤကိစ္စတွင်၊ app.py ဟုခေါ်သော ဖိုင်ကို run သည်) ကို သတ်မှတ်ပေးပါသည်။

Docker ပလပ်ဖောင်းအကြောင်း

Docker သည် အပလီကေးရှင်းများ တည်ဆောက်ခြင်း၊ ပို့ဆောင်ခြင်း နှင့် လုပ်ဆောင်ခြင်းအတွက် open-source platform တစ်ခုဖြစ်သည်။ ၎င်းသည် သီးခြားကွန်တိန်နာများတွင် အပလီကေးရှင်းများကို ထုပ်ပိုးရန် ကွန်တိန်နာနည်းပညာကို အသုံးပြုထားသောကြောင့် ၎င်းတို့ကို မည်သည့်စနစ်တွင်မဆို လျင်မြန်စွာ အသုံးပြုနိုင်မည်ဖြစ်သည်။ Docker သည် developer များအား လုံခြုံပြီး ထိရောက်သောနည်းလမ်းဖြင့် အပလီကေးရှင်းများကို လျင်မြန်စွာ ဖန်တီးပြီး အသုံးချနိုင်စေပါသည်။

Python သည် ဝဘ်အက်ပလီကေးရှင်းများ၊ ဒေတာသိပ္ပံပရောဂျက်များ၊ စက်သင်ယူမှုပုံစံများနှင့် အခြားအရာများအတွက် ဆော့ဖ်ဝဲရေးသားသူများစွာအသုံးပြုသော နာမည်ကြီး ပရိုဂရမ်ဘာသာစကားတစ်ခုဖြစ်သည်။ Docker ဖြင့် Python developer များသည် မတူညီသော စနစ်များနှင့် ပတ်ဝန်းကျင်များတွင် သယ်ဆောင်ရလွယ်ကူသော ကွန်တိန်နာများတွင် ၎င်းတို့၏ကုဒ်ကို အလွယ်တကူထုပ်ပိုးနိုင်ပါသည်။ ၎င်းသည် Python အပလီကေးရှင်းများကို မည်သည့်ပလက်ဖောင်း သို့မဟုတ် cloud ဝန်ဆောင်မှုပေးသူတွင်မဆို ချိတ်ဆက်အသုံးပြုနိုင်သည့် ပြဿနာများ သို့မဟုတ် မှီခိုမှုများအတွက် စိတ်ပူစရာမလိုဘဲ ပိုမိုလွယ်ကူစေသည်။ ထို့အပြင် Docker သည် ၎င်း၏ built-in image registry ဖြင့် Python စာကြည့်တိုက်များနှင့် frameworks အများအပြားကို စီမံခန့်ခွဲရန် လွယ်ကူသောနည်းလမ်းကို ပံ့ပိုးပေးပါသည်။ ၎င်းသည် ဆော့ဖ်ဝဲအင်ဂျင်နီယာများအား ၎င်းတို့အသုံးပြုသည့်စနစ်တစ်ခုစီတွင် ၎င်းတို့ကို ကိုယ်တိုင်ထည့်သွင်းစရာမလိုဘဲ တူညီသောစာကြည့်တိုက် သို့မဟုတ် မူဘောင်၏ မတူညီသောဗားရှင်းများအကြား လျင်မြန်စွာပြောင်းနိုင်စေပါသည်။

Dockerfile ဆိုတာဘာလဲ

Dockerfile သည် ပုံတစ်ပုံအား စုစည်းရန်အတွက် အသုံးပြုသူသည် command line တွင်ခေါ်ဆိုနိုင်သည့် command များအားလုံးပါ၀င်သော စာသားစာရွက်စာတမ်းတစ်ခုဖြစ်သည်။ ၎င်းကို ကွန်တိန်နာများဖန်တီးရန် အသုံးပြုနိုင်သည့် Docker ပုံတစ်ခုကို ဖန်တီးရန် အသုံးပြုသည်။ Dockerfile တွင် ပုံမှန်အားဖြင့် အက်ပလီကေးရှင်းတစ်ခုတည်ဆောက်ပုံနှင့် လည်ပတ်ပုံဆိုင်ရာ ညွှန်ကြားချက်များအပြင် မှန်ကန်စွာလည်ပတ်နိုင်ရန် လိုအပ်သည့် အခြားမှီခိုမှုများပါရှိသည်။ ၎င်းကို Python ပရိုဂရမ်းမင်းဘာသာစကားဖြင့် ရေးသားထားပြီး Kubernetes သို့မဟုတ် Docker Swarm ကဲ့သို့သော နာမည်ကြီး ကွန်တိန်နာနည်းပညာများနှင့် အသုံးပြုနိုင်သည်။

Dockerfile ကိုဘယ်လိုရေးရမလဲ

Dockerfile သည် ပုံတစ်ပုံအား စုစည်းရန်အတွက် အသုံးပြုသူသည် command line တွင်ခေါ်ဆိုနိုင်သည့် command များအားလုံးပါ၀င်သော စာသားစာရွက်စာတမ်းတစ်ခုဖြစ်သည်။ ၎င်းသည် အခြေခံအားဖြင့် Docker မှ သင့်ပုံကို မည်သို့တည်ဆောက်ရမည်ကို ပြောပြသည့် ညွှန်ကြားချက်များ အစုတစ်ခုဖြစ်သည်။

Python တွင် Dockerfile တစ်ခုရေးရန်၊ သင်အသုံးပြုလိုသော အခြေခံပုံအား သတ်မှတ်ခြင်းဖြင့် စတင်ရန် လိုအပ်သည်။ FROM ညွှန်ကြားချက်ကို အသုံးပြု၍ ၎င်းကို လုပ်ဆောင်နိုင်သည်။ ဥပမာအားဖြင့်၊ သင်သည် Ubuntu ကို သင်၏အခြေခံပုံအဖြစ် အသုံးပြုလိုပါက၊ သင်သည် ရေးရလိမ့်မည်-

ubuntu မှ: နောက်ဆုံးပေါ်

ထို့နောက်၊ သင်သည်သင်၏အပလီကေးရှင်းအတွက်လိုအပ်သောပက်ကေ့ဂျ်များနှင့်စာကြည့်တိုက်များကိုထည့်သွင်းရန်လိုအပ်သည်။ ၎င်းကို RUN ညွှန်ကြားချက်နှင့် apt-get သို့မဟုတ် pip အမိန့်များကို အသုံးပြု၍ လုပ်ဆောင်နိုင်သည်။ ဥပမာအားဖြင့်၊ သင်သည် Flask နှင့် ၎င်း၏ မှီခိုအားထားမှုများကို တပ်ဆင်လိုပါက၊ သင်သည် ရေးရလိမ့်မည်-

RUN apt-get update && apt-get install -y python3 python3-pip && pip3 ထည့်သွင်းမှု ပုလင်း

သင့်ပက်ကေ့ဂျ်အားလုံးကို ထည့်သွင်းပြီးသည်နှင့်၊ မည်သည့်အရင်းအမြစ်ကုဒ် သို့မဟုတ် ဖွဲ့စည်းမှုပုံစံဖိုင်များကိုမဆို ကွန်တိန်နာထဲသို့ ကူးယူရန် အချိန်ကျရောက်ပြီဖြစ်သည်။ ၎င်းကို ကွန်တိန်နာအတွင်းရှိ အရင်းအမြစ်ဖိုင်လမ်းကြောင်းနှင့် ဦးတည်ရာလမ်းကြောင်းတို့နှင့်အတူ ကော်ပီညွှန်ကြားချက်ကို အသုံးပြု၍ ၎င်းကို လုပ်ဆောင်နိုင်သည်။ ဥပမာ:

./app /app/ ကူးယူပါ

နောက်ဆုံးအနေနဲ့၊ docker run နဲ့ ဒီ container ကို run တဲ့အခါ ဘယ် command ကို execute လုပ်သင့်တယ်ဆိုတာ သတ်မှတ်ဖို့ အချိန်ရောက်ပါပြီ။ ၎င်းကို CMD ညွှန်ကြားချက်ဖြင့် လုပ်ဆောင်ပြီး ဤကွန်တိန်နာကို အသုံးပြုသည့်အခါ မည်သည့် command ကိုမဆို လုပ်ဆောင်သင့်သည်။ ဥပမာ:

CMD [“python3”၊ “/app/main.py”]

Related ရေးသားချက်များ:

a Comment ချန်ထား