ما هو Docker: تاريخ موجز وتجريدات أساسية

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



في هذه المقالة ، سنتحدث عن تاريخ Docker وتجريداته الرئيسية: Image و Cli و Dockerfile. المحاضرة مصممة للمبتدئين ، لذا فمن غير المحتمل أن تكون محل اهتمام المستخدمين ذوي الخبرة. لن يكون هناك دماء ولا زائدة دودية ولا غوص عميق. الأساسيات.





ما هو Docker



دعونا نلقي نظرة على تعريف Docker من ويكيبيديا.



Docker هو برنامج لأتمتة نشر وإدارة التطبيقات في بيئات حاوية.

لا شيء واضح من هذا التعريف. من غير الواضح بشكل خاص ما تعنيه عبارة "البيئات الممكّنة بالحاويات". لمعرفة ذلك ، دعنا نعود إلى الماضي. لنبدأ بالعصر الذي أسميه تقليديًا "العصر الأحادي".



عصر متآلف



— 2000-, , . . , . :





Pets — . , , , . : , .





: VMware, VirtualBox, Hyper-V, Qemu KVM . . , . , . — . — , , Nginx, Apache, MySQL. , . , . , .





OpenVZ, Systemd-nspawn, LXC. — LXC (Linux Containers).



LXC — Linux . LXC , .



LXC . ?





: , . - , .



.

, .





«» — , - . , .



, , . , Container Engine, . , , .







, , — Namespaces Control Groups.



Namespaces: PID, Networking, Mount User. , .



PID Namespace . , , PID Namespace, , PID 1. PID 1 — systemd init. , namespace, PID 1.



Networking Namespace / . Mount — . User — .



Control Groups: Memory, CPU, IOPS, Network — 12 . Cgroups («C-»).



Control Groups . Control Groups , - .



, : Capabilities, Copy-on-write .



Capabilities — , , . . , root , . : capabilities Time Capsule, . , .



Copy-on-write Docker, .



Docker Cgroups v2, Cgroups v1.

.



, . , :



  • : OpenVZ , , , ;
  • , . , , . .


, .





, :



  • — .
  • . .
  • , — , .
  • .


, pets vs cattle? , cattle — . — . 100 , 100 . - 2-3 . . : , . .



2014-2015 Docker — , .



Docker . Docker , , , .



Docker- , . Docker . , : , , . Docker . Docker- , , .







. - , Docker , Linux , . , « , Docker — , Linux ».



, , Docker , , .



— PID namespace. namespace - , PID 1. PID, namespace, . , Nginx, PID 1 (-). PID 12623. , .



— Cgroups. Cgroups , . , memory accounting: , , . , , , . , , Docker, .



. . , . Docker - , , , , , . - nf_conntrack, .


Docker



Docker :



  1. Docker Daemon — Container Engine; .
  2. Docker CLI — Docker.
  3. Dockerfile — , .
  4. Image — , .
  5. Container.
  6. Docker registry — .


:





Docker_host Docker daemon, . Client, : , , . Docker daemon registry . Docker- ( -), TCP .



.



Docker daemon () — , -: , , . « », .



Docker CLI — Docker, . , , .



:



docker ps — , Docker-.

docker images — , .

docker search <> — registry.

docker pull <> — registry .

docker build <</path/to/dir>> — .

docker run <> — .

docker rm <> — .

docker logs <> —

docker start/stop/restart <> —

, , 70% Docker .



Dockerfile — . — . .





Dockerfile: , — . , ( Dockerfile), Image.



, , . : « » — . « » — , . . Dockerfile - — "python" "main.py", - , — , .



Image — , . Docker ( deb rpm-), image — rpm-. yum install , , , . : , Docker registry ( yum, ), image SHA-256, .



Image Dockerfile. Dockerfile . .



Docker registry — Docker. , Docker — dockerhub. , Docker registry.



Container — , . Dockerfile , . , . — . , , Docker.



« — » PID Namespace. Namespace PID 1, , . : , , . Best Practices, .



: « Docker».



: , Kubernetes, Southbridge, .




All Articles