احسان رضایی

یک توسعه دهنده، شاید هم نه.

کتاب الگوهای طراحی به بیان ساده(design patterns/دیزاین پترن)

در مهندسی نرم افزار، design patterns(الگوهای طراحی) راه حل‌های قابل استفاده برای مشکلاتی هستند که معمولاً در طراحی نرم‌افزار اتفاق می افتند.

طرح های از پیش ساخته شده‌ای که می‌توانید برای حل مشکلات آن‌ها را سفارشی کنید. شما نمی‌توانید یک الگو را با جستجو در stackoverflow پیدا و در برنامه خود کپی کنید. الگو ها یک قطعه کد خاص نیستند، مفاهیم کلی برای حل مشکلات خاص هستند. شما باید با درک این مفاهیم آن‌ها را در برنامه خود پیاده‌سازی کنید.



image خود را داخل Docker بسازید

در linux و متن باز , / تاریخ ارسال 1395/11/22 - 17:10 / 0 نظر / 2219 بازدید / آخرین ویرایش 1399/04/17 - 20:18
مهم!
از تاریخ انتشار این مطلب زمان زیادی میگذره و میدونیم در حرفه ما سرعت پیشرفت و توسعه چقدر زیاده. من این مطلب قدیمی رو پاک نکردم چون ممکنه همچنان برای شما مفید باشه اما به خاطر داشته باشید در حال حاضر شاید نسخه های جدید و تغییرات این نوشته رو از دور خارج کرده باشن.

قراره image خودمون رو داخل docker بسازیم، به عنوان نمونه تصمیم دارم whalesay رو که قبلا باهاش کار کردیم بهبود بدم و جای اینکه هنگام run شدن متنی رو برای اون بفرستیم، یک جمله تصادفی انتخاب و به اصطلاح say کنه.

در مرحله ی اول نیاز به Dockerfile داریم. Dockerfile، یک فایل متنی هست و شامل دستوراتی میشه که کاربر میتونه داخل command line ازش استفاده کنه. از این فایل برای بالا آوردن image خودمون استفاده میکنیم.

یک directory میسازیم و واردش میشیم:

mkdir mydockerbuildcd mydockerbuild

Dockerfile رو ایجاد میکنیم، خیلی ساده:

nano Dockerfile

حالا داخلش شروع به نوشتن میکنیم، اول باید FROM اضافه بشه

FROM docker/whalesay:latest

این دستور به داکر میگه image ما به عنوان پایه/base از کدوم image استفاده میکنه. باز هم تکرار میشه، داکر ابتدا بررسی میکنه آیا image مورد نظر ما (whalesay)، اونم اخرین نسخه اش! رو در لوکال خودمون داره یا نه، و اگر نداشت ابتدا اون رو از hub دانلود میکنه و بعدش میره سراغ باقی مسائل.

برای نصب برنامه fortunes از RUN استفاده میکنیم، fortunes یک برنامه در لینوکس هست که پیام تصادفی تولید میکنه:

RUN apt-get -y update && apt-get install -y fortunes

CMD هم در انتها دستورات نهایی ما رو اجرا میکنه. با fortune -a برنامه بالا رو اجرا میکنیم و خروجی اون رو به cowsay میفرستیم:

CMD /usr/games/fortune -a | cowsay

اگر تا الان مطلب برای شما گنگ بود و متوجه نشدین whalesay یا cowsay چی هست بهتره اینجا رو بخونید...

یک بار بررسی میکنیم چه چیزهایی رو داخل Dockerfile نوشتیم:

FROM docker/whalesay:latestRUN apt-get -y update && apt-get install -y fortunesCMD /usr/games/fortune -a | cowsay

فایل رو ذخیره و با دستور docker build از کارمون build میگیریم. پارامتر t- به image ما یک tag نسبت میده که در مطالب بعدی بیشتر در موردش توضیح میدم. به کاراکتر "." آخر دستور دقت کنید که مشخص میکنه در فهرست جاری دنبال Dockerfile بگرده و صداش بزنه

docker build -t docker-whale .

ممکن هست عملیات build کمی طول بکشه.

توجه: اگر هنگام انجام عملیات خطای trusty InRelease رو داشتین. برای حلش در مسیر etc/default/docker کافیه DOCKER_OPTS رو از حالت comment خارج کنید.

اگر build با موفقت انجام شده میتونید image خودتون رو run کنید:

docker run docker-whale

 

پیشنهاد

ارسال نظر