جزء اليوم من سلسلة Docker ، التي ننشرها ، مكرس لفرق Docker. تحتوي
وثائق Docker على وصف مفصل للعديد من الأوامر العظيمة ، ولكن قد يبدأ فقدان شخص ما بدأ العمل مع هذه المنصة ، لذلك يوجد ما يقرب من عشرين من أهم الأوامر للعمل مع Docker. واستمرارًا للتقليد المعمول به ، سنقارن الفرق بتناثر التوت.
→
الجزء 1: الأساسيات→
الجزء 2: المصطلحات والمفاهيم→
الجزء 3: ملفات Dockerfile→
الجزء 4: تقليل حجم الصور وتسريع تجميعها→
الجزء 5: الفرق→
الجزء 6: العمل مع البياناتمراجعة
دعونا نتذكر أن صور Docker يتم إنشاؤها بناءً على ملفات Dockerfile التي تصف كل ما هو مطلوب لإنشاء الصور. بالإضافة إلى ذلك ، دعونا لا ننسى أن الحاوية هي صورة Docker تم استدعاؤها إلى الحياة. من أجل استخدام أوامر Docker بفعالية ، أولاً وقبل كل شيء ، تحتاج إلى معرفة - مع ما تتعامل معه - مع الصورة أو الحاوية. إذا فكرت في الصور والحاويات ، يمكنك فهم أن صورة Docker يمكن أن تكون موجودة أو غير موجودة. ويمكن قول الشيء نفسه بالنسبة للحاويات دوكر. بالإضافة إلى ذلك ، يمكن أن تكون حاوية Docker الحالية في حالة تشغيلية أو في حالة غير نشطة.
بمجرد معرفة ما تحتاج إليه بالضبط ، يمكنك العثور على الفريق المناسب.
عامل ميناء القيادة لمحة
فيما يلي بعض الأشياء التي يجب أن يعرفها الأشخاص الذين يرغبون في العمل مع Docker:
- أوامر واجهة سطر الأوامر Docker المستخدمة للتحكم في شيء ما تبدأ
docker
تليها مسافة ، ثم هناك إشارة إلى ما سيتم توجيه أمر معين إليه ، ثم مساحة أخرى ، ثم يتبع الأمر نفسه. على سبيل المثال ، هذه هي الطريقة التي يتم بها بناء مثل هذا الأمر: docker container stop
. - إذا تم توجيه الأمر إلى صورة أو حاوية محددة ، فسيتم استخدام اسم أو معرف هذه الصورة أو الحاوية فيه.
على سبيل المثال ،
docker container run my_app
هو أمر لإنشاء وتشغيل الحاوية المسماة
my_app
. في الأمثلة أدناه ، سوف ندعو
my_container
والصور
my_image
وعلامات
my_tag
وما إلى ذلك.
أولاً ، سننظر في الفريق نفسه ، ثم الأعلام التي يمكن استخدامها معها ، إذا كانت هذه الأعلام موجودة. إذا كان العلم له شرعتان أمامه ، فهذا شكله بالكامل ، وتكون العلامة ذات الشرطة واحدة إصدارًا مختصرًا لعلامة معينة. يتصرفون بنفس الطريقة. على سبيل المثال ،
-p
هو شكل مختصر
--port
.
الغرض من هذه المقالة هو تقديم نظرة عامة على أوامر Docker. لذلك ، لديك فكرة عامة عنها ومعرفة ميزات النظام الأساسي المتاحة بفضل هذه الأوامر ، يمكنك ، إذا لزم الأمر ، العثور على معلومات مفصلة عنها. يتم اختبار الفرق المعنية على نظام تشغيل عائلة Linux باستخدام إصدار محرك Docker 18.09.1 و API الإصدار 1.39.
ملاحظة حول الأوامر المدعومة من Docker CLI 1.13
توفر واجهة سطر الأوامر الإصدار 1.1 Docker أوامر محدّثة مجمعة منطقياً. في الوقت نفسه ، لا تزال الفرق القديمة تعمل ، لكن من الأسهل استخدام فرق جديدة ، خاصة للمبتدئين. على سبيل المثال ، في الإصدار 1.12 ،
docker create
النموذج ، وفي الإصدار 1.13 أصبح
docker container create
الأوامر متاحًا. يمكن العثور على معلومات حول مطابقة الفرق القديمة والجديدة
هنا .
أولاً ، ننظر إلى أوامر إدارة الحاويات ، ثم نناقش إدارة الصور.
أوامر إدارة الحاويات
نظام القيادة العام لإدارة الحاويات كما يلي:
docker container my_command
فيما يلي الأوامر التي يمكن استبدالها حيث استخدمنا
my_command
:
create
- إنشاء حاوية من صورة.start
- بدء الحاوية الموجودة.run
- إنشاء حاوية وإطلاقها.ls
- قائمة حاويات التشغيل.inspect
- عرض معلومات مفصلة عن الحاوية.logs
- إخراج السجل.stop
- إيقاف الحاوية قيد التشغيل مع إرسال إشارة SIGTERM
إلى عملية الحاوية الرئيسية ، وبعد مرور بعض الوقت ، SIGKILL
.kill
- إيقاف الحاوية قيد التشغيل وإرسال إشارة SIGKILL
إلى عملية الحاوية الرئيسية.rm
- حذف حاوية توقف.
أوامر إدارة الصور
لإدارة الصور ، يتم استخدام الأوامر التي تبدو كما يلي:
docker image my_command
فيما يلي بعض الفرق في هذه المجموعة:
build
- بناء الصورة.push
- أرسل الصورة إلى السجل البعيد.ls
- قائمة الصور.history
- يعرض معلومات حول طبقات الصور.inspect
- يعرض معلومات مفصلة حول الصورة ، بما في ذلك معلومات حول الطبقات.rm
- حذف الصورة.
فرق مختلفة
docker version
- docker version
معلومات docker version
لعميل وخادم Docker.docker login
- عامل docker login
الدخول.docker system prune
- حذف الحاويات والشبكات والصور غير المستخدمة التي لم يتم تعيين اسم وعلامة.
الآن النظر في هذه الأوامر بمزيد من التفصيل.
حاويات
▍ بداية وجود الحاوية
في المرحلة الأولى من العمل مع الحاويات ، يتم استخدام أوامر
create
start
run
. يتم استخدامها ، على التوالي ، لإنشاء حاوية ، لإطلاقها ، ولإنشاءها وتشغيلها.
هنا هو الأمر لإنشاء حاوية من صورة:
docker container create my_repo/my_image:my_tag
في الأمثلة التالية ،
my_repo/my_image:my_tag
سيتم تقصير
my_image
إلى
my_image
.
يقبل الأمر
create
العديد من
العلامات . على سبيل المثال ، يمكن كتابتها بالصيغة التالية:
docker container create -a STDIN my_image
علامة
-a
هي نموذج قصير من علامة
--attach
. تتيح لك هذه العلامة توصيل الحاوية بـ
STDIN
أو
STDOUT
أو
STDERR
.
بعد إنشاء الحاوية ، يمكن تشغيلها باستخدام الأمر التالي:
docker container start my_container
يرجى ملاحظة أنه يمكنك الرجوع إلى الحاوية في الأمر إما باستخدام
ID
أو اسمها.
ألقِ نظرة الآن على الأمر الذي يسمح لك بإنشاء الحاوية وتشغيلها:
docker container run my_image
هذا الأمر قادر أيضًا على قبول العديد من
وسيطات سطر الأوامر. النظر في بعضها مع مثال على مثل هذا البناء:
docker container run -i -t -p 1000:8000 --rm my_image
العلم
-i
اختصار لـ -
--interactive
. بفضل هذه العلامة ، يتم إبقاء تيار
STDIN
مفتوحًا حتى إذا لم تكن الحاوية متصلة بـ
STDIN
.
العلم
-t
قصير لـ -
--tty
. بفضل هذه العلامة ، يتم تسليط الضوء على محطة الزائفة التي تربط بين المحطة المستخدمة وتدفقات الحاوية
STDIN
و
STDOUT
.
لكي تكون قادرًا على التفاعل مع الحاوية من خلال الجهاز ، تحتاج إلى استخدام
-i
و
-t
معًا.
علامة
-p
قصيرة لـ
--port
. المنفذ هو واجهة تتفاعل من خلالها الحاوية مع العالم الخارجي. يقوم التصميم
1000:8000
بإعادة توجيه منفذ Docker
8000
إلى المنفذ
1000
الكمبيوتر الذي تعمل عليه الحاوية. إذا كان هناك تطبيق معين قيد التشغيل في الحاوية يمكنه إخراج شيء ما إلى المتصفح ، ثم للوصول إليه ، في حالتنا ، يمكنك الانتقال إلى المتصفح على
localhost:1000
.
تقوم علامة -
--rm
بحذف الحاوية تلقائيًا بعد اكتمالها.
دعونا نلقي نظرة على بعض الأمثلة على الأمر
run
:
docker container run -it my_image my_command
في مثل هذا التصميم ، يمكن استخدام الأمر
sh
، الذي سينشئ جلسة عمل طرفية في حاوية يمكن التفاعل معها من خلال الجهاز الطرفي. عند العمل مع الصور المستندة إلى Alpine ، من الأفضل التركيز على استخدام
sh
بدلاً من
bash
، لأنه في هذه الصور ، افتراضيًا ، لم
bash
تثبيت
bash
. للخروج من الجلسة التفاعلية ، استخدم
exit
.
لاحظ أننا هنا قمنا بدمج الأعلام
-i
و
-t
.
فيما يلي مثال آخر على العمل باستخدام الأمر
run
:
docker container run -d my_image
العلم
-d
اختصار لـ
--detach
. هذا الأمر يبدأ الحاوية في الخلفية. يتيح لك ذلك استخدام الجهاز الطرفي الذي يتم تشغيل الحاوية منه لتنفيذ الأوامر الأخرى أثناء تشغيل الحاوية.
تأكيد حالة الحاوية
إذا كان لديك حاويات Docker وتريد معرفة ماهية هذه الحاويات ، فستحتاج إلى سردها. يمكنك القيام بذلك باستخدام الأمر التالي:
docker container ls
يعرض هذا الأمر قائمة بالحاويات قيد التشغيل ويزود هذه القائمة ببعض المعلومات المفيدة عنها. فيما يلي مثال آخر لهذا الأمر:
docker container ls -a -s
-a
التبديل
-a
هذا الأمر اختصار لـ - كافة. باستخدام هذا المفتاح ، يمكنك عرض معلومات حول جميع الحاويات ، وليس فقط حول تشغيلها.
رمز
-s
هو اختصار لـ
--size
. يسمح لك بعرض أبعاد الحاويات.
إليك أمر يعرض معلومات مفصلة حول الحاوية:
docker container inspect my_container
هنا هو الأمر الذي يعرض سجلات الحاوية:
docker container logs my_container
▍ إغلاق الحاويات
في بعض الأحيان يجب إيقاف حاوية العمل. للقيام بذلك ، استخدم الأمر التالي:
docker container stop my_container
يسمح لك بإيقاف تشغيل الحاويات ، مما يتيح لها إيقاف التشغيل بشكل صحيح. تحتوي الحاوية ، افتراضيًا ، على 10 ثوانٍ لإغلاقها.
إذا كانت الحاوية بحاجة إلى إيقافها بسرعة دون القلق بشأن الإكمال الصحيح لأعمالها ، يمكنك استخدام الأمر التالي:
docker container kill my_container
يشبه الأمر
kill
، إذا قارنت الحاوية العاملة مع التليفزيون ، إيقاف تشغيل التلفزيون عن طريق فصله عن الكهرباء. لذلك ، في معظم الحالات ، يوصى باستخدام الأمر stop لإيقاف الحاويات.
إليك أمر يتيح لك إيقاف جميع حاويات التشغيل سريعًا:
docker container kill $(docker ps -q)
لحذف حاوية متوقفة ، يمكنك استخدام الأمر التالي:
docker container rm my_container
إليك أمر يتيح لك حذف جميع الحاويات التي لم يتم تنفيذها في وقت استدعاء هذا الأمر:
docker container rm $(docker ps -a -q)
لتلخيص هذا القسم. أولاً ، يتم إنشاء حاوية ، ثم يتم تشغيلها ، أو يتم الجمع بين هاتين الخطوتين باستخدام أمر
docker run my_container
نموذج
docker run my_container
. بعد ذلك ، يتم تشغيل التطبيق في حاوية.
ثم يتم إيقاف الحاوية باستخدام
docker stop my_container
. لإزالة الحاوية ، استخدم
docker rm my_container
.
الآن دعونا نتحدث عن الأوامر المستخدمة للعمل مع الصور ، مع القوالب ذاتها التي يتم إنشاء الحاويات منها.
الصور
reat إنشاء الصور
إليك أمر يتيح لك جمع صور Docker:
docker image build -t my_repo/my_image:my_tag .
في هذه الحالة ، يتم إنشاء صورة باسم
my_image
؛ أثناء التجميع ، يتم استخدام ملف Dockerfile الموجود في المسار أو عنوان URL المحدد.
العلم
-t
قصير لـ -
--tag
. يخبر Docker أن الصورة المراد إنشاؤها يجب تعيين العلامة المقدمة في الأمر. في هذه الحالة ، إنه
my_tag
.
تشير النقطة الموجودة في نهاية الأمر إلى وجوب تجميع الصورة باستخدام ملف Dockerfile الموجود في دليل العمل الحالي.
بعد تجميع الصورة ، يمكن إرسالها إلى السجل البعيد. بفضل هذا ، سيتمكن الآخرون من استخدامه ، ويمكن تنزيله وتشغيله على كمبيوتر آخر. افترض أنك تريد استخدام
Docker Hub . إذا كان الأمر كذلك ، فستحتاج إلى إنشاء حساب هناك. استخدام هذا المورد مجاني.
بعد قيامك بالتسجيل في Docker Hub ، تحتاج إلى تسجيل الدخول. وعلى الرغم من أن الأمر المستخدم لهذا لا ينطبق مباشرة على الأوامر المخصصة للعمل مع الصور ، إلا أنه سيكون من المفيد مراعاة ذلك هنا. هذا هو الأمر التالي:
docker login
يسمح لك بتسجيل الدخول إلى حساب Docker Hub الخاص بك. لتسجيل الدخول ، سوف تحتاج إلى إدخال اسم المستخدم وكلمة المرور.
بعد تسجيل الدخول ، يمكنك إرسال الصور إلى السجل. يتم ذلك مثل هذا:
docker image push my_repo/my_image:my_tag
الآن وبعد أن أصبح لديك عدة أنواع من الصور ، يمكنك استكشافها باستخدام أوامر خاصة.
▍ بحوث الصور
هنا هو الأمر الذي يعرض قائمة من الصور ، بما في ذلك ، بما في ذلك معلومات حول حجمها:
docker image ls
يسمح لك الأمر التالي بعرض معلومات حول الصور الوسيطة التي تشكل الصورة ، ولا سيما البيانات المتعلقة بأحجامها وكيفية إنشائها:
docker image history my_image
هنا هو الأمر الذي يعرض معلومات مفصلة حول الصورة ، بما في ذلك البيانات حول الطبقات التي تشكل الصورة:
docker image inspect my_image
إذا قمت بإنشاء العديد من الصور ، فقد يحدث حذف بعضها.
el حذف الصور
إليك الأمر الذي يسمح لك بحذف الصورة المحددة:
docker image rm my_image
إذا تم تخزين الصورة في مستودع بعيد ، فلن يتم حذفها من هناك.
إليك أمر يتيح لك حذف جميع الصور المحلية:
docker image rm $(docker images -a -q)
استخدم هذا الأمر بحذر ، ولكن تجدر الإشارة إلى أنه عند استخدامه ، لن يتم حذف الصور المخزنة في المستودع البعيد. هذا أحد فوائد تخزين الصور في المستودعات.
درسنا الأوامر الأساسية المستخدمة لإدارة الحاويات والصور. الآن دعنا نتحدث عن بعض الفرق.
فرق مختلفة
هنا هو الأمر الذي يعرض معلومات الإصدار لعميل Docker والخادم:
docker version
يستخدم هذا الأمر ، المعروف لك بالفعل ، لإدخال سجل Docker:
docker login
يتيح لك هذا الأمر حذف الحاويات والشبكات والصور غير المستخدمة
التي لم يتم تعيين اسم وعلامة :
docker system prune
هنا مثال على استخدامه:
docker system prune -a --volumes
-a
التبديل
-a
هو اختصار لـ -
--all
، ويسمح لك بحذف الصور غير المستخدمة ، وليس فقط تلك التي لم يتم تعيين اسم وعلامة.
يسمح
--volumes
بحذف وحدات التخزين غير المستخدمة.
ملخص
في هذه المقالة ، قمنا بتغطية أوامر Docker المفيدة. إذا كنت قد بدأت للتو العمل مع Docker ، فيجب عليك الانتباه إلى أهم ثلاثة أوامر:
إنشاء وتشغيل حاوية:
docker container run my_image
بناء الصورة:
docker image build -t my_repo/my_image:my_tag .
تحميل الصورة إلى مستودع بعيد:
docker image push my_repo/my_image:my_tag
لمعرفة المساعدة على أوامر Docker ، يمكنك تنفيذ أمر
docker
في الجهاز الطرفي.
هنا يمكنك العثور على المساعدة على واجهة سطر الأوامر Docker.
في المرة القادمة سوف نتحدث عن العمل مع البيانات في Docker.
أعزائي القراء! إذا كنت تعمل مع Docker ، فمن المحتمل أن يكون لديك قائمة خاصة بك من الأوامر الشائعة الاستخدام. إذا كان الأمر كذلك ، يرجى مشاركة هذه القائمة.
