Email: info@developit.ir

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

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

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

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

mkdir mydockerbuild
cd 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:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /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

 

این مطلب آخرین بار در تاریخ 17:10 - 1395/11/22 ویرایش شده است.

ارسال نظر
عضویت در خبرنامه
جهت اطلاع از آخرین فعالیت های من لطفا در خبرنامه عضو شوید