دليل Docker للمبتدئ. مشروعك الأول.

docker
الصورة docker blog

في هذا المقال سنتحدث عن برنامج Docker وكيف تبدأ في استخدامه.

في البداية. ما هو Docker؟

هو برنامج مجاني طور من قبل شركة Docker Inc., وظهر لأول مرة في 13 مارس 2013 وأصبح منذ ذلك الحين من أهم الأدوات في تطوير البرمجيات.

إنه يسمح لك بإنشاء بيئات منعزلة ومستقلة لتطوير برمجياتك بداخلها. وتسمى بالحاويات.

وتسمح للمطور بتشغيل هذه الحاويات على أي نظام تشغيل.

وكما ترى إنه يوفر استقلالية كبيرة لبرامجك دو أي مشاكل. وكل ما عليك فعله هو تشغيل الحاوية ليشتغل تطبيقك على الفور.

ولكن. هل هو آلة افتراضية؟

وهذا واحد من أكثر الأسئلة شيوعا. والاجابة هي, ليس كثيرا.

إنه قد يبدو كآلة افتراضية, ولكنه لا يعمل بنفس الطريقة.

على عكس Docker, الآلة الافتراضية ستحتوي على نظام تشغيل كامل. ستعمل وكأنها حاسب مستقل. أما Docker سيشارك موارد جهازك المتاحة مع الحاويات. 
 
docker
الصورة docker blog

إذا, لماذا تستخدمه كمطور؟

هذه الأداة يمكن أن تغير حياة المطور اليومية. والاجابة على هذا السؤال هي:
  • إنه سريع, على عكس الآلة الافتراضية. سيبدأ تطبيقك في ثوان وسيتوقف كذلك في ثوان.
  • متعدد المنصات, يمكنك تشغيل حاوياتك على أي نظام تشغيل.
  • لا يوجد أي صعوبات في اعداد بيئة العمل, فبمجرد أن تعده مره لن تحتاج أن تعده مجددا. وحتى إذا انضم موظف جديد للشركة يمكنك أن تعطيه ملف الاعداد وسيعمل على الفور.
وغيرها الكثير من المميزات الرائعة.

والآن لنبدأ بمشروعك الأول.

والان عرفت ما هو Docker, وها قد حان الوقت لتبدأ بمشروعك الأول.

والهدف من هذه الدرس أن نجعل برنامج بايثون يقوم بطباعة جملة من خلال ملف Dockerfile.

وسترى أنه ليس بالشيء المعقد عندما تفهمه.

ملاحظة: يجب أن تكون بايثون منصبة على جهازك أولا.

أ. الخطوة الأولى: تنصيب Docker على جهازك.

-- لنظام التشغيل linux.

-- لنظام التشغيل mac.

-- لنظام التشغيل windows.

ب. الخطوة الثانية: إنشاء مشروعك.

لإنشاء مشروعك ستقوم بعمل مجلد يحتوي على ملفين:
  • "main.py" وهو ملف بايثون الذي يحتوي على البرنامج خاصتك المرد تنفيذه.
  • "Dockerfile" وهو ملف الإعدادات الذي يحتوي على تعليمات إنشاء المشروع.

ج. الخطوة الثالثة: إعداد ملف بايثون.

سيكون الملف على الشكل.
#!/usr/bin/env python3
print("Docker is magic!")
لا شيء غير اعتيادي, سيطبع جملة فقط.

د. الخطوة الرابعة: كتابة الإعدادات.

أول شيء يجب أن تسأل نفسك عنه عند كتابة الإعدادات هو "ماذا تود أن تفعل؟" وهدفنا هنا هو تشغيل كود بايثون.

ولتوفير الوقت والجهد يمكنك الذهاب إلى DockerHub والحصول على إعدادات جاهزة من هناك.

نقوم بالبحث عن بايثون وسنحصل عليها هنا.

وسيصبح Dockerfile على الشكل:
# A dockerfile must always start by importing the base image.
# We use the keyword 'FROM' to do that.
# In our example, we want import the python image.
# So we write 'python' for the image name and 'latest' for the version.

FROM python:latest 

# In order to launch our python code, we must import it into our image.
# We use the keyword 'ADD' to do that.
# The first parameter 'main.py' is the name of the file on the host.
# The second parameter '/' is the path where to put the file on the image.
# Here we put the file at the image root folder. 

ADD main.py / 

# We need to define the command to launch when we are going to run the image.
# We use the keyword 'CMD' to do that.
# The following command will execute "python ./main.py". 

CMD [ "python", "./main.py" ]

هـ. الخطوة الخامسة: بناء المشروع.

والآن مشروعك جاهز وكل ما عليك فعله هو كتابة:
$ docker build -t python-test .

في الترمنال الخاصة بك. الخيار -t يمكنك من اختيار اسم للمشروع وهنا اخترت python-test ويمكنك اختيار أي اسم تريده.

و. الخطوة السادسة: تشغيل المشروع.

بعد أن يتم بناء المشروع يمكنك تشغيله بالأمر:
$ docker run python-test

والأن مشروعك يعمل وسترى جملة "docker is magic" مطبوعة أمامك.

والأن لقد انتهيت من انشاء مشروعك باستخدام Docker ويمكنك مشاهدة الكود من هنا.


إلى اللقاء.


تعليقات

المشاركات الشائعة من هذه المدونة

30 شيء تمنيت لو عرفتها عندما بدأت في البرمجة(الجزء الأول).

ما هي مبادئ SOLID؟ ولما يجب أن يعرفها كل مطور؟

كيف تصبح مطور ويب وتحصل على وظيفة في أسرع وقت؟ (الجزء الثاني)