រំលងទៅមាតិកាសំខាន់

Docker - Dockerfile

អ្វីទៅជា Dockerfile?

  • Dockerfile ជាឯកសារអត្ថបទដែលមាននូវពាក្យបញ្ជាដែលប្រើសម្រាប់ប្រមូលផ្តុំឬបង្កើត image។ យើងអាចប្រើពាក្យបញ្ជាទាំងនោះដើម្បីបញ្ជាទៅ command lineDocker ធ្វើការបង្កើត image ដោយស្វ័យប្រវត្តិដោយបានអាន instruction ពី Dockerfile

  • Docker បានបង្កើតនូវពាក្យបញ្ជាដែលប្រើសម្រាប់បង្កើតនូវ image ចេញពី Dockerfile។ អ្នកអាចប្រើស្លាក -f ជាមួយពាក្យបញ្ជា docker build ដើម្បីអាចដៅទៅរកចំណុចដែល Dockerfile ស្ថិតនៅទីតាំងណានៅក្នុងម៉ាស៊ីនរបស់អ្នក។

$ docker build -f /path/to/a/Dockerfile .

Dockerfile Instructions

  • សម្រាប់ instructions គឺវាមិនប្រកាន់អក្សរតូចធំទេ ប៉ុន្តែអ្នកគួរតែអនុវត្តទៅតាមអនុសញ្ញាដែលមានការណែនាំឲ្យប្រើអក្សរធំ។

  • Docker ដំណើរការ instructions នៃ Dockerfile ពីលើចុះក្រោម។ Instruction ទីមួយគឺ FROM ដែលបញ្ជាក់ពីមូលដ្ធានរបស់ image

  • Statement ដែលចាប់ផ្តើមដោយ # គឺចាត់ទុកជា comment ហើយក្រៅពីនេះអ្នកអាចប្រើ instructions ដែលមានដូចជា RUN, CMD, FROM, EXPOSE, ENV, និងមានជាច្រើនទៀតនៅក្នុង Dockerfile បាន។

FROM

  • Instruction មួយនេះគឺប្រើសម្រាប់កំណត់នូវមូលដ្ធានរបស់ image ហើយនៅក្នុង Dockerfile គឺទាមទារឲ្យមាននូវ instruction មួយនេះនៅលើគេ។
FROM node:latest

LABEL

  • Instruction មួយនេះគឺប្រើសម្រាប់កំណត់នូវស្លាកទៅឲ្យ image ហើយនៅក្នុង Dockerfile គេប្រើ instruction មួយនេះដើម្បីកំណត់ស្លាកទៅឲ្យ image
LABEL maintainer = "CUBETIQ"

WORKDIR

  • Instruction មួយនេះគឺប្រើសម្រាប់កំណត់ថតការងារសម្រាប់ណែនាំឲ្យ instruction RUN, CMD, និង COPY ដែលធ្វើតាមនៅក្នុង Dockerfile។ ប្រសិនបើថតការងារមិនត្រូវបានបង្កើតទេ នោះវានឹងបង្កើតដោយខ្លួនឯង។ ម្យ៉ាងវិញទៀតយើងអាចប្រើប្រាស់ instruction មួយនេះបានច្រើនដងក្នុង Dockerfile
WORKDIR /app

COPY

  • Instruction មួយនេះគឺប្រើសម្រាប់ចំលងឯកសារថ្មីឬក៏ថតឯកសារពីប្រភពមួយណាហើយទៅគោលដៅមួយណា។
COPY package*.json ./

RUN

  • Instruction មួយនេះគឺប្រើសម្រាប់ដំណើរការនូវពាក្យបញ្ជាទៅកាន់ image
RUN npm install

CMD

  • Instruction មួយនេះគឺប្រើសម្រាប់ដំណើរការកម្មវិធីដែលត្រូវបាន build រួចរាល់របស់ image។ ភាគច្រើនពាក្យបញ្ជា CMD គឺមិនអាចមានលើសពីមួយបានទេនៅក្នុង Dockerfile តែបើសិនជាមានច្រើនគឺវាប្រតិបត្តិតែពាក្យបញ្ជាណាមួយដែលស្ថិតនៅក្រោយគេតែប៉ុណ្ណោះ។
CMD ["node", "app.js"]