در این درسگفتار میآموزی:
توجه. چون علاقه زیادی به آسان کردن [آسانیدن] و باقاعده کردن زبان دارم، واژگان زیادی ساختهام؛ که بدلیل ناشناخته بودن اشان تنها برای شناساندن ازشان استفاده کردهام [استفادهام]. ریشهی بیشتر این واژگان آشکار است؛ و در ویکیواژه تعریفشان کردهام [تعریفتهام اشان] یا خواهم کرد [تعریفینم اشان].
امیدوارم خوشایندت باشد.
سخنی با خواننده. قصد دارم [قصتادم] خودآموز داکر را از پایه برای برنامهنویسان تازهکاری که هیچ آشنایی با داکر ندارند بنویسم. ولی چون امکان دستهبندی [گروهیستن] مقالهها در ویرگول وجود ندارد، عنوان مقالههای این مجموعه را همانند زیر میگذارم:
خودآموز داکر: درس <شماره درس> - <موضوع درس>
که «شماره درس» از ۰۱ شروع شده [شروعارده]. پس، بعنوان مثال، برای یافتن درسگفتار دوم کافیه عبارت «خودآموز داکر: درس ۰۲» را در ویرگول جستجو کنی [بجویی].
معماری داکر از نوع مشتری-خدمتگزار (client-server) است؛ این به این معنی است که ما برای ساختن و اجراکردن [اجراییدن] یه کانتینر از طریق خط فرمان (با استفاده از client داکر) با غول داکر (Docker daemon) گفتگو میکنیم.
docker run -it alpine sh
# Dockerfile FROM alpine:3.14 RUN apk add --no-cache mysql-client ENTRYPOINT ["mysql"]
توجه. هر ایمیج دارای یه فایل داکر است؛ ولی فایل داکر همان ایمیج نیست!
هر کانتینر با استفاده [استفادن] از یه ایمیج ساخته میشود [ساختشد]؛ و هر ایمیج میتواند برپایه یه ایمیج دیگر باشد. محتوای یه ایمیج، برخلاف کانتینر (که نویسپذیر است)، پس از ساختهشدن دیگر تغییر نمیکند [ندگرشد] (یعنی، نویسناپذیر است).
نکته. یه ایمیج/کانتینر برپایه یه ایمیج است؛ یعنی، همه فایلهای ایمیج پایه در ایمیج برپایه (فرزند) دیده میشود، و تنها تغییرات در ایمیجهای برپایه انبار میشوند. بعبارتی، اگر یکی از فایلهای ایمیج پایه در ایمیج برپایه تغییر کردهباشد، تنها همان فایل تغییریافته در ایمیج برپایه انبار شده؛ نه در ایمیج پایه! و در ایمیج/کانتینرهای برپایهاش، آن فایل تغییریافته دیده نمیشود؛ بعبارتی فایل هه در آن لایه روسوارده (override) میشود.
برای فهمیدن بهتر کارکرد داکر بهتره گامهایی که داکر هنگام اجراکردن [اجراییدن] یه کانتینر طی میکند را مرور کنیم. با اجراییدن دستور زیر:
docker run -it alpine sh
چکیده. معماری داکر مشتری-خدمتگزاری است. با استفاده [استفادن] از یه پایانه درخواستهایمان را برای مدیریت کانتینرهایمان بهش میدهیم. کانتینرها از روی ایمیجها ساخته میشوند. ایمیجها پس از ساختهشدن تغییر نمیکنند. و فایلهای درون کانتینرها تا هنگامیکه حذفشان نکردهام در رایانهامان حفظ میشوند.
خب، تا اینجا با مفهومهای پایهای داکر و فرایند ساخت کانتینر در داکر آشنا شدیم. از درسگفتار بعد کار با کارخواه (client) داکر را شروع میکنم [میشروعم].