English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يُمكّن Docker من تشغيل تطبيقات داخل الصندوق، باستخدام docker run أمر لتشغيل تطبيق في الصندوق.
إخراج Hello world
w3codebox@w3codebox:~$ docker run ubuntu:15.10 /bin/echo "Hello world" Hello world
تفسير المعلمات المختلفة:
docker: ملف التشغيل الثنائي لدocker.
run: مع前面的 docker لتشغيل صندوق.
ubuntu:15.10 تحديد الصورة التي سيتم تشغيلها، Docker أولاً يبحث عن وجود الصورة على جهاز المضيف المحلي، إذا لم تجد الصورة، Docker سيدلّس الصورة من مخزن الصور Docker Hub.
/bin/echo "Hello world": الأوامر التي يتم تنفيذها داخل الصندوق المُشغّل
معنى الأمر الكامل يمكن تفسيره على النحو التالي: Docker يُنشئ صندوقًا جديدًا باستخدام صورة ubuntu15.10، ثم يقوم بتشغيل bin/echo "Hello world" في الصندوق، ثم يُخرج النتيجة.
نحن نستخدم معلمتين docker -i -t لجعل الصندوق الذي تشغله docker يحقق"الحوار"القدرة:
w3codebox@w3codebox:~$ docker run -i -t ubuntu:15.10 /bin/bash root@0123ce188bd8:/#
تفسير المعلمات المختلفة:
-t: تحديد واجهة مستخدم وهمية أو واجهة مستخدم في الصندوق الجديد.
-i: يُمكّنك من التفاعل مع المدخل القياسي (STDIN) للصندوق.
الانتباه إلى السطر الثاني root@0123ce188bd8:/#، عند ذلك نكون قد دخلنا داخل صندوق نظام Ubuntu15.10
نحاول تشغيل الأوامر في الصندوق cat /proc/versionوlsنظرًا لمعلومات إصدار النظام الحالي وملفات القائمة في الدليل الحالي
root@0123ce188bd8:/# cat /proc/version إصدار Linux 4.4.0-151-generic (بناء @ lgw01-amd64-043) (gcc إصدار 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)) #178-Ubuntu SMP الثلاثاء 11 حزيران 2019 08:30:22 UTC root@0123ce188bd8:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@0123ce188bd8:/#
我们可以通过运行 exit 命令或者使用 CTRL+D 来退出容器。
root@0123ce188bd8:/# exit exit root@w3codebox:~#
注意第三行中 root@w3codebox:~# 表明我们已经退出了当前的容器,返回到当前的主机中。
使用以下命令创建一个以进程方式运行的容器
w3codebox@w3codebox:~$ docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done" 2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63
在输出中,我们没有看到期望的 "hello world",而是一串长字符
2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63
这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。
首先,我们需要确认容器有在运行,可以通过 docker ps 来查看:
w3codebox@w3codebox:~$ docker ps CONTAINER ID IMAGE COMMAND ... 5917eac21c36 ubuntu:15.10 "/bin/sh -c 'while t…" ...
شرح تفصيلي للخروج:
معرف الحاوية: معرف الحاوية.
الصورة: الصورة المستخدمة.
الأمر: الأمر الذي يتم تشغيله عند بدء الحاوية.
مُنشئ: وقت إنشاء الحاوية.
الحالة: حالة الحاوية.
يوجد 7 حالات:
مُنشئ
restarting (قيد الإعادة التشغيل)
running أو Up (قيد التشغيل)
removing (تحويل)
paused (متوقف)
exited (توقف)
dead (ميت)
PORTS: معلومات منفذ الحاوية والنوع المستخدم للاتصال (tcp\udp).
NAMES: اسم الحاوية الموزع تلقائيًا.
استخدام الأمر docker logs في المضيف، لعرض مخرجات الحاوية العادية:
w3codebox@w3codebox:~$ docker logs 2b1b7a428627
w3codebox@w3codebox:~$ docker logs amazing_cori
نحن نستخدم docker stop استخدام الأمر لتحديد الحاوية:
docker stop 2b1b7a428627
يمكنك رؤية أن الحاوية قد توقفت عن العمل من خلال الأمر docker ps:
w3codebox@w3codebox:~$ docker ps
يمكنك رؤية أن الحاوية لم تعد موجودة.
يمكنك أيضًا استخدام الأمر التالي للإيقاف:
w3codebox@w3codebox:~$ docker stop amazing_cori