English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
واجهة المستخدم الخاصة بـ Docker بسيطة للغاية، يمكننا إدخال الأمر docker مباشرة لرؤية جميع خيارات واجهة المستخدم الخاصة بـ Docker.
w3codebox@w3codebox:~# docker
يمكنك استخدام الأمر docker command --help للتعرف بشكل أعمق على كيفية استخدام الأمر Docker المحدد.
على سبيل المثال، نريد عرض docker stats استخدام الأمر بشكل دقيق:
w3codebox@w3codebox:~# docker stats --help
إذا لم يكن لدينا صورة ubuntu محلية، يمكننا استخدام الأمر docker pull لتحميل صورة ubuntu:
$ docker pull ubuntu
تعليمات التشغيل التالية تستخدم صورة ubuntu لبدء جهاز، المعلمات هي الدخول إلى الجهاز بالطريقة النصية:
$ docker run -it ubuntu /bin/bash
شرح المعلمات:
-i: التشغيل التفاعلي.
-t: طرفية.
ubuntu: صورة ubuntu.
/bin/bashالنقطة الموجودة بعد اسم الصورة هي الأمر، هنا نريد Shell تفاعلي، لذا نستخدم /bin/bash.
للخروج من الطرفية، قم بإدخال exit:
root@ed09e4490c57:/# exit
تعليمات عرض جميع الجهازات هي:
$ docker ps -a
نقر على الصورة لرؤية الصورة الكبيرة:
استخدام docker start لبدء تشغيل جهاز معطل:
$ docker start b750bbbcfd88
في معظم السيناريوهات، نريد أن يكون خدمة docker تعمل في الخلفية، يمكننا استخدام -d لتعيين نمط تشغيل الجهاز.
$ docker run -itd --name ubuntu-test ubuntu /bin/bash
نقر على الصورة لرؤية الصورة الكبيرة:
ملاحظة:إذا تم تضمين المعلمات -d، فسيتم بالافتراض عدم الدخول إلى الصندوق، إذا كنت ترغب في الدخول إلى الصندوق، يمكنك استخدام الأوامر التالية: docker exec(سيتم شرح ذلك لاحقًا).
أمر توقف الصندوق كالتالي:
$ docker stop <ID الصندوق>
يمكنك إعادة تشغيل الصناديق المتوقفة باستخدام docker restart:
$ docker restart <ID الصندوق>
عندما تستخدم -d عندما تستخدم المعلمات، يدخل الصندوق في الخلفية. إذا كنت ترغب في الدخول إلى الصندوق، يمكنك استخدام الأوامر التالية للدخول:
docker attach
docker execنوصي باستخدام إمر docker exec، لأن هذا الخروج من نهاية الصندوق لن يؤدي إلى توقف الصندوق.
إمر attach
سيتم عرض كيفية استخدام إمر docker attach فيما يلي.
$ docker attach 1e560fca3906
ملاحظة: إذا غادرت هذا الصندوق، سيؤدي ذلك إلى توقف الصندوق.
إمر exec
سيتم عرض كيفية استخدام إمر docker exec فيما يلي.
docker exec -it 243c32535da7 /bin/bash
ملاحظة: إذا غادرت هذا الصندوق، لن يتوقف الصندوق، هذا هو السبب في أننا نوصي باستخدام docker exec السبب.
للإطلاع على مزيد من التفاصيل حول المعلمات، استخدم إمر docker exec --help.
إخراج الصندوق
إذا كنت ترغب في إخراج صناديق محلية معينة، يمكنك استخدام docker export الإمر.
$ docker export 1e560fca3906 > ubuntu.tar
أخرج صور الصندوق 1e560fca3906 إلى ملف محلي ubuntu.tar.
بهذا يتم导ار صور الصندوق إلى ملف محلي.
استيراد صور الصندوق
يمكنك استخدام docker import لإعادة استيراد الصور من ملفات صور الصناديق، واليكم مثال على استيراد ملف صور الصندوق ubuntu.tar إلى صورة test/ubuntu:v1:
$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1
بالإضافة إلى ذلك، يمكنك أيضًا استيراد عبر تحديد عنوان URL أو مجلد معين، مثل:
$ docker import http://example.com/exampleimage.tgz example/imagerepo
استخدام إزالة الصندوق docker rm الإمر:
$ docker rm -f 1e560fca3906
الأوامر التالية يمكنها تنظيف جميع الصناديق التي تكون في حالة التوقف.
$ docker container prune
前面我们运行的容器并没有一些什么特别的用处。
接下来让我们尝试使用 docker 构建一个 web 应用程序。
我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。
w3codebox@w3codebox:~# docker pull training/webapp # 载入镜像 w3codebox@w3codebox:~# docker run -d -P training/webapp python app.py
参数说明:
-d:让容器在后台运行。
-P:将容器内部使用的网络端口随机映射到我们使用的主机上。
使用 docker ps 来查看我们正在运行的容器:
w3codebox@w3codebox:~# docker ps CONTAINER ID IMAGE COMMAND ... PORTS d3d5e39ed9d3 training/webapp "python app.py" ... 0.0.0.0:32769->5000/tcp
这里多了端口信息。
PORTS 0.0.0.0:32769->5000/tcp
Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。
这时我们可以通过浏览器访问WEB应用
我们也可以通过 -p 参数来设置不一样的端口:
w3codebox@w3codebox:~$ docker run -d -p 5000:5000 training/webapp python app.py
docker ps查看正在运行的容器
w3codebox@w3codebox:~# docker ps المستخدمون المختلفون صور المختلفة المواضيع الأسماء bf08b7f2cd89 training/webapp ... 0.0.0.0:5000->5000/tcp wizardly_chandrasekhar d3d5e39ed9d3 training/webapp ... 0.0.0.0:32769->5000/tcp xenodochial_hoov
يتم تصادم منفذ 5000 داخل الحاوية إلى منفذ 5000 على الحاسوب المحلي.
من خلال docker ps الطريقة يمكن رؤية تفاصيل تصادم منفذ الحاوية،docker وقد تم توفير طريقة أخرى مختصرة docker port، يقدم أيضًا طريقة مختصرة docker port يمكنك عرض تحويل منفذ معين (ID أو الاسم) للصندوق إلى منفذ على المستضيف.
في الأعلى، هو ID صندوق تطبيق الويب الذي قمنا بإنشائه bf08b7f2cd89 اسمه wizardly_chandrasekhar.
يمكنني استخدام docker port bf08b7f2cd89 أو docker port wizardly_chandrasekhar لعرض حالة التحويل للمنفذ
w3codebox@w3codebox:~$ docker port bf08b7f2cd89 5000/tcp -> 0.0.0.0:5000
w3codebox@w3codebox:~$ docker port wizardly_chandrasekhar 5000/tcp -> 0.0.0.0:5000
docker logs [ID أو الاسم] يمكن عرض الخروج القياسي داخل الصندوق.
w3codebox@w3codebox:~$ docker logs -f bf08b7f2cd89 * تشغيل على http://0.0.0.0:5000/ (أضغط CTRL+C للخروج) 192.168.239.1 - - [09/May/2016 16:30:37] "GET / HTTP/1.1" 200 - 192.168.239.1 - - [09/May/2016 16:30:37] "GET favicon.ico HTTP/1.1" 404 -
-f: اترك docker logs مثل استخدام tail -f لإخراج الخروج القياسي داخل الصندوق.
من فوق، يمكننا رؤية أن التطبيق يستخدم منفذ 5000 ويمكننا رؤية سجلات الوصول للتطبيق.
يمكننا أيضًا استخدام docker top لعرض العمليات التي تعمل داخل الصندوق
w3codebox@w3codebox:~$ docker top wizardly_chandrasekhar UID PID PPID ... TIME CMD root 23245 23228 ... 00:00:00 python app.py
استخدام للنظر في المعلومات الأساسية لدكور
w3codebox@w3codebox:~$ docker inspect wizardly_chandrasekhar [ { "Id": "bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85", "Created": "2018-09-17T01:41:26.174228707Z", "Path": "python", "Args": [ "app.py" ], "State": { "ExitCode": 0, "Error": "", "StartedAt": "2018-09-17T01:41:26.494185806Z", "FinishedAt": "0001-01-01T00:00:00Z" ......
w3codebox@w3codebox:~$ docker stop wizardly_chandrasekhar wizardly_chandrasekhar
الصندوق المتوقف،يمكننا استخدام الأمر docker start لبدء.
w3codebox@w3codebox:~$ docker start wizardly_chandrasekhar wizardly_chandrasekhar
docker ps -l استعلام آخر قالب إنشاء
# docker ps -l المستخدمون المختلفون صور المختلفة المواضيع الأسماء bf08b7f2cd89 training/webapp ... 0.0.0.0:5000->5000/tcp wizardly_chandrasekhar
للبواسطة الحاويات التي تعمل، يمكننا استخدام أمر docker restart لإعادة تشغيلها.
يمكننا استخدام أمر docker rm ل�除 الحاويات غير الضرورية
w3codebox@w3codebox:~$ docker rm wizardly_chandrasekhar wizardly_chandrasekhar
عند محاولة حذف حاوية، يجب أن تكون الحاوية في حالة التوقف، وإلا سيتم عرض خطأ كما يلي
w3codebox@w3codebox:~$ docker rm wizardly_chandrasekhar رد فاشل من daemon: لا يمكنك إزالة حاوية تعمل bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85. قم بإيقاف الحاوية قبل المحاولة في إزالتها أو إزالة قوة