دوكر هو منصة مفتوحة المصدر الأكثر شهرة بين المطورين ومسؤولي النظام لبناء وتشغيل ومشاركة التطبيقات باستخدام الحاويات. يصبح توزيع التطبيقات باستخدام الحاويات شائعًا لأن الحاويات مرنة وخفيفة الوزن وقابلة للنقل ومترابطة بشكل فضفاض وقابلة للتوسيع وأكثر أمانًا.
هذه المقالة نقطة بداية جيدة للمبتدئين لتعلم كيفية تثبيت واستخدام دوكر على نظام لينكس أوبونتو 20.04 باستخدام بعض الأوامر الأساسية. لهذا الدليل، سنقوم بتثبيت دوكر إصدار المجتمع (CE).
الشروط المسبقة:
تثبيت دوكر على أوبونتو 20.04
لاستخدام أحدث إصدار من دوكر، سنقوم بتثبيته من مستودع دوكر الرسمي. لذلك، ابدأ بإضافة مفتاح GPG لمستودع دوكر الرسمي إلى نظامك، بعد ذلك أضف تكوين المستودع إلى مصدر APT باستخدام الأوامر التالية.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
الآن قم بتحديث ذاكرة التخزين المؤقت لحزمة APT لتشمل حزم دوكر الجديدة في النظام باستخدام الأمر التالي.
$ sudo apt update
بعد ذلك، قم بتثبيت حزمة دوكر كما هو موضح.
$ sudo apt install docker-ce

خلال عملية تثبيت حزمة دوكر، يقوم مثبت الحزمة بتشغيل systemd (المدير النظامي وخدمة المدير) لبدء تشغيل خدمة الدوكر تلقائيًا وتمكينها. استخدم الأوامر التالية للتحقق من أن خدمة الدوكر نشطة وممكّنة للبدء التلقائي عند بدء تشغيل النظام. تحقق أيضًا من حالتها:
$ sudo systemctl is-active docker $ sudo systemctl is-enabled docker $ sudo systemctl status docker

هناك عدة أوامر systemctl لإدارة والتحكم في خدمة دوكر وتشمل ما يلي:
$ sudo systemctl stop docker #stop the docker service $ sudo systemctl start docker #start the docker service $ sudo systemctl restart docker #restart the docker service
للتحقق من الإصدار المثبت من Docker CE على نظامك، قم بتشغيل الأمر التالي:
$ docker version

يمكنك عرض الأوامر المتاحة لاستخدام دوكر عن طريق تشغيل الأمر دوكر بدون أي خيارات أو وسيطات:
$ docker

إدارة دوكر كمستخدم غير جذري باستخدام أمر sudo
بشكل افتراضي، يقوم مشغل دوكر بربط مأخذ UNIX (بدلاً من منفذ TCP) الذي يمتلكه المستخدم الجذر. لذلك، يعمل مشغل دوكر دائمًا كمستخدم جذري ولتشغيل أمر دوكر، تحتاج إلى استخدام sudo.
بالإضافة إلى ذلك، أثناء تثبيت حزمة دوكر، يتم إنشاء مجموعة تسمى docker
. عند بدء تشغيل مشغل دوكر، ينشئ مأخذ UNIX قابل للوصول من قبل أعضاء مجموعة docker (التي تمنح امتيازات مكافئة لمستخدم الجذر).
لتشغيل أمر دوكر بدون sudo، أضف جميع المستخدمين غير الجذريين الذين من المفترض أن يكونوا قادرين على الوصول إلى دوكر، إلى مجموعة docker على النحو التالي. في هذا المثال، يقوم الأمر بإضافة المستخدم المسجل حاليًا ($USER)
أو اسم المستخدم إلى مجموعة دوكر:
$ sudo usermod -aG docker $USER OR $ sudo usermod -aG docker username
لتفعيل التغييرات في المجموعات، قم بتشغيل الأمر التالي:
$ newgrp docker $ groups

ثم، تحقق مما إذا كان بإمكانك تشغيل أوامر docker بدون استخدام sudo. الأمر التالي يقوم بتنزيل صورة اختبارية وتشغيلها في حاوية. بمجرد بدء تشغيل الحاوية، يتم طباعة رسالة معلوماتية ويتم الخروج. هذه طريقة أخرى للتحقق من مدى عمل التثبيت الخاص بك.
$ docker run hello-world

العمل مع صور Docker
A Docker image is a read-only template file with instructions for creating a Docker container. You can either create your custom images or you can only use those created by others and published in the Docker Hub, the world’s largest library and community for container images.
يمكنك البحث عن صورة centos
في Docker Hub باستخدام الأمر التالي:
$ docker search centos

لتنزيل صورة محليًا، استخدم الأمر pull. يُظهر هذا المثال كيفية تنزيل صورة centos الرسمية.
$ docker pull centos

عند اكتمال التنزيل، يمكنك عرض الصور المتاحة على النظام المحلي.
$ docker images

إذا لم تعد بحاجة إلى صورة، يمكنك إزالتها من النظام.
$ docker rmi centos OR $ docker rmi centos:latest #where latest is the tag
تشغيل وإدارة حاويات Docker
A Docker container is a process that runs natively on Linux and shares the kernel of the host machine with other containers. Concerning a Docker image, a container is just a running image.
لبدء حاوية استنادًا إلى الصورة centos
الجديدة الخاصة بك، قم بتشغيل الأمر التالي حيث يكون "centos"
اسم الصورة المحلية و ” cat /etc/centos-release ” هو الأمر المطلوب تشغيله في الحاوية:
$ docker run centos cat /etc/centos-release

A container runs a discrete process that is isolated in that it has its own: file system, networking, and isolated process tree separate from the host. Note that you can manipulate a container using the container’s ID, ID-prefix, or name as shown below. The above container process exits after the command runs.
لعرض حاويات Docker، استخدم الأمر docker ps على النحو التالي. استخدم العلم -l
لعرض أحدث حاوية تم إنشاؤها في جميع الحالات:
$ docker ps OR $ docker ps -l

لعرض جميع الحاويات بما في ذلك تلك التي خرجت، استخدم العلم -a
.
$ docker ps -a

يمكنك أيضًا بدء حاوية باستخدام معرف الحاوية الخاص بها بعد خروجها. على سبيل المثال، في الأمر السابق، يكون معرف حاويتنا هو 94c35e616b91. يمكننا بدء تشغيل الحاوية كما هو موضح (يرجى ملاحظة أنه سيقوم بتشغيل الأمر وخروجه):
$ docker start 94c35e616b91

لإيقاف حاوية تعمل باستخدام معرفها، استخدم أمر stop كما هو موضح.
$ docker stop 94c35e616b91
دوكر تسمح أيضًا بتعيين اسم للحاوية باستخدام الخيار --name
عند تشغيلها.
$ docker run --name my_test centos cat /etc/centos-release $ docker ps -l

الآن يمكنك استخدام اسم الحاوية لإدارتها (بدء التشغيل، إيقاف التشغيل، الإحصاءات، الإزالة، إلخ).
$ docker stop my_test $ docker start my_test $ docker stats my_test $ docker rm my_test
تشغيل جلسة تفاعلية في حاوية دوكر
لبدء جلسة قذف تفاعلية في حاوية لتمكينك من تشغيل الأوامر داخل الحاوية، قم بتشغيل الأمر التالي:
$ docker run --name my_test -it centos

في الأمر أعلاه، تُخبر مفاتيح -it
دوكر بتخصيص جهاز الإدخال/الإخراج الظاهري المتصل بـ stdin للحاوية مما ينشئ بيئة تفاعلية للقذف bash داخل الحاوية.
يمكنك الخروج عن طريق إصدار أمر الخروج كما هو موضح.
# exit
إذا كنت تفضل عدم الخروج، يمكنك الانفصال عن الحاوية وتركها تعمل. لفعل ذلك، استخدم التسلسل الرئيسي CTRL+p
ثم CTRL+q
.

يمكنك الاتصال مرة أخرى بالحاوية باستخدام الأمر attach الذي سيقوم بتعيين مدخل البيانات القياسي المحلي، ومخرجاته، وتيارات الأخطاء إلى الحاوية الجاري تشغيلها:
$ docker attach my_test
بالإضافة إلى ذلك، يمكنك بدء حاوية في وضع الفصل باستخدام علامة العلم -d
. ثم استخدم الأمر attach لتعيين مدخل البيانات القياسي للطرفية الخاصة بك، ومخرجاته، وتيارات الأخطاء إلى الحاوية الجاري تشغيلها:
$ docker run --name my_test -d -it centos $ docker attach my_test

وأخيرًا، يمكنك إيقاف حاوية تعمل من جلسة المضيف عبر تشغيل الأمر التالي:
$ docker kill my_test
هذا كل شيء! في هذا الدليل، قمنا بتغطية كيفية تثبيت واستخدام دوكر سي في أوبونتو 20.04 لينكس. إذا كان لديك أي أسئلة، استخدم النموذج أدناه لطلب المساعدة.