ืžื” ื–ื” ื“ื•ืงืจ: ื˜ื™ื•ืœ ืงืฆืจ ืœื”ื™ืกื˜ื•ืจื™ื” ื•ื”ืคืฉื˜ื•ืช ื‘ืกื™ืกื™ื•ืช

ื”ืชื—ื™ืœ ื‘-10 ื‘ืื•ื’ื•ืกื˜ ื‘-Slurm ืงื•ืจืก ื•ื™ื“ืื• ืฉืœ ื“ื•ืงืจ, ืฉื‘ื• ืื ื• ืžื ืชื—ื™ื ืื•ืชื• ืœื—ืœื•ื˜ื™ืŸ - ืžื”ืคืฉื˜ื•ืช ื‘ืกื™ืกื™ื•ืช ื•ืขื“ ืคืจืžื˜ืจื™ื ืฉืœ ืจืฉืช.

ื‘ืžืืžืจ ื–ื” ื ื“ื‘ืจ ืขืœ ื”ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ Docker ื•ื”ื”ืคืฉื˜ื•ืช ื”ืขื™ืงืจื™ื•ืช ืฉืœื•: Image, Cli, Dockerfile. ื”ื”ืจืฆืื” ืžื™ื•ืขื“ืช ืœืžืชื—ื™ืœื™ื, ื•ืœื›ืŸ ืœื ืกื‘ื™ืจ ืฉื”ื™ื ืชืขื ื™ื™ืŸ ืžืฉืชืžืฉื™ื ืžื ื•ืกื™ื. ืœื ื™ื”ื™ื” ื“ื, ืชื•ืกืคืชืŸ ืื• ื˜ื‘ื™ืœื” ืขืžื•ืงื”. ื”ื™ืกื•ื“ื•ืช ืžืื•ื“.

ืžื” ื–ื” ื“ื•ืงืจ: ื˜ื™ื•ืœ ืงืฆืจ ืœื”ื™ืกื˜ื•ืจื™ื” ื•ื”ืคืฉื˜ื•ืช ื‘ืกื™ืกื™ื•ืช

ืžื” ื–ื” ื“ื•ืงืจ

ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื”ื”ื’ื“ืจื” ืฉืœ Docker ืžื•ื•ื™ืงื™ืคื“ื™ื”.

Docker ื”ื™ื ืชื•ื›ื ื” ืœืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืคืจื™ืกื” ื•ื ื™ื”ื•ืœ ืฉืœ ื™ื™ืฉื•ืžื™ื ื‘ืกื‘ื™ื‘ื•ืช ืžื›ื•ืœื•ืช.

ืฉื•ื ื“ื‘ืจ ืœื ื‘ืจื•ืจ ืžื”ื”ื’ื“ืจื” ื”ื–ื•. ื‘ืžื™ื•ื—ื“ ืœื ื‘ืจื•ืจ ืžื” ื”ืžืฉืžืขื•ืช ืฉืœ "ื‘ืกื‘ื™ื‘ื•ืช ื”ืชื•ืžื›ื•ืช ื‘ืงื•ื ื˜ื™ื™ื ืจื™ื–ืฆื™ื”". ื›ื“ื™ ืœื’ืœื•ืช, ื‘ื•ืื• ื ื—ื–ื•ืจ ืื—ื•ืจื” ื‘ื–ืžืŸ. ื ืชื—ื™ืœ ืžื”ืขื™ื“ืŸ ืฉืื ื™ ืงื•ืจื ืœื• "ื”ืขื™ื“ืŸ ื”ืžื•ื ื•ืœื™ื˜ื™".

ืขื™ื“ืŸ ืžื•ื ื•ืœื™ื˜ื™

ื”ืขื™ื“ืŸ ื”ืžื•ื ื•ืœื™ื˜ื™ ื”ื•ื ืชื—ื™ืœืช ืฉื ื•ืช ื”-2000, ื›ืืฉืจ ื›ืœ ื”ื™ื™ืฉื•ืžื™ื ื”ื™ื• ืžื•ื ื•ืœื™ื˜ื™ื™ื, ืขื ื—ื‘ื•ืจื” ืฉืœ ืชืœื•ืช. ื”ืคื™ืชื•ื— ืืจืš ื–ืžืŸ ืจื‘. ื™ื—ื“ ืขื ื–ืืช, ืœื ื”ื™ื• ื”ืจื‘ื” ืฉืจืชื™ื; ื”ื›ืจื ื• ืืช ื›ื•ืœื ื‘ืฉืžื ื•ืขืงื‘ื ื• ืื—ืจื™ื”ื. ื™ืฉ ื”ืฉื•ื•ืื” ืžืฆื—ื™ืงื” ื›ื–ื•:

ื—ื™ื•ืช ืžื—ืžื“ ื”ืŸ ื—ื™ื•ืช ื‘ื™ืช. ื‘ืขื™ื“ืŸ ื”ืžื•ื ื•ืœื™ื˜ื™, ื”ืชื™ื™ื—ืกื ื• ืœืฉืจืชื™ื ืฉืœื ื• ื›ืžื• ื—ื™ื•ืช ืžื—ืžื“, ืžื˜ื•ืคื—ื™ื ื•ืžื•ืงื™ืจื™ื, ืžืคืจื™ื—ื™ื ื›ืชืžื™ ืื‘ืง. ื•ืœื ื™ื”ื•ืœ ืžืฉืื‘ื™ื ื˜ื•ื‘ ื™ื•ืชืจ, ื”ืฉืชืžืฉื ื• ื‘ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื”: ืœืงื—ื ื• ืฉืจืช ื•ื—ืชื›ื ื• ืื•ืชื• ืœืžืกืคืจ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช, ื•ื‘ื›ืš ื”ื‘ื˜ื—ื ื• ื‘ื™ื“ื•ื“ ืฉืœ ื”ืกื‘ื™ื‘ื”.

ืžืขืจื›ื•ืช ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ืžื‘ื•ืกืกื•ืช Hypervisor

ื›ื•ืœื ื‘ื˜ื— ืฉืžืขื• ืขืœ ืžืขืจื›ื•ืช ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื”: VMware, VirtualBox, Hyper-V, Qemu KVM ื•ื›ื•'. ื”ืŸ ืžืกืคืงื•ืช ื‘ื™ื“ื•ื“ ื™ื™ืฉื•ืžื™ื ื•ื ื™ื”ื•ืœ ืžืฉืื‘ื™ื, ืื‘ืœ ื™ืฉ ืœื”ืŸ ื’ื ื—ืกืจื•ื ื•ืช. ื›ื“ื™ ืœื‘ืฆืข ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื”, ืืชื” ืฆืจื™ืš ื”ื™ืคืจื•ื•ื™ื–ืจ. ื•ื”-Hypervisor ื”ื•ื ืžืฉืื‘ ืชืงื•ืจื”. ื•ื”ืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช ืขืฆืžื” ื”ื™ื ื‘ื“ืจืš ื›ืœืœ ืงื•ืœื•ืกื•ืก ืฉืœื - ืชืžื•ื ื” ื›ื‘ื“ื” ื”ืžื›ื™ืœื” ืžืขืจื›ืช ื”ืคืขืœื”, Nginx, Apache, ื•ืื•ืœื™ ื’ื MySQL. ื”ืชืžื•ื ื” ื’ื“ื•ืœื” ื•ื”ืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช ืœื ื ื•ื—ื” ืœืชืคืขื•ืœ. ื›ืชื•ืฆืื” ืžื›ืš, ื”ืขื‘ื•ื“ื” ืขื ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืื™ื˜ื™ืช. ื›ื“ื™ ืœืคืชื•ืจ ื‘ืขื™ื” ื–ื•, ื ื•ืฆืจื• ืžืขืจื›ื•ืช ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื‘ืจืžืช ื”ืงืจื ืœ.

ืžืขืจื›ื•ืช ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื‘ืจืžืช ืœื™ื‘ื”

ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื‘ืจืžืช ืœื™ื‘ื” ื ืชืžื›ืช ืขืœ ื™ื“ื™ ืžืขืจื›ื•ืช OpenVZ, Systemd-nspawn, LXC. ื“ื•ื’ืžื” ื‘ื•ืœื˜ืช ืœื•ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื›ื–ื• ื”ื™ื LXC (Linux Containers).

LXC ื”ื™ื ืžืขืจื›ืช ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื‘ืจืžืช ืžืขืจื›ืช ื”ื”ืคืขืœื” ืœื”ืคืขืœืช ืžืกืคืจ ืžื•ืคืขื™ื ืžื‘ื•ื“ื“ื™ื ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื” ืœื™ื ื•ืงืก ืขืœ ืฆื•ืžืช ืื—ื“. LXC ืœื ืžืฉืชืžืฉืช ื‘ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช, ืืœื ื™ื•ืฆืจืช ืกื‘ื™ื‘ื” ื•ื™ืจื˜ื•ืืœื™ืช ืขื ืžืจื—ื‘ ืชื”ืœื™ื›ื™ื ื•ืขืจื™ืžืช ืจืฉืช ืžืฉืœื”.

ื‘ืขืฆื LXC ื™ื•ืฆืจ ืงื•ื ื˜ื™ื™ื ืจื™ื. ืžื” ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืœืžื›ื•ืœื•ืช?

ืžื” ื–ื” ื“ื•ืงืจ: ื˜ื™ื•ืœ ืงืฆืจ ืœื”ื™ืกื˜ื•ืจื™ื” ื•ื”ืคืฉื˜ื•ืช ื‘ืกื™ืกื™ื•ืช

ื”ืงื•ื ื˜ื™ื™ื ืจ ืื™ื ื• ืžืชืื™ื ืœื‘ื™ื“ื•ื“ ืชื”ืœื™ื›ื™ื: ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื ืžืฆืื•ืช ื‘ืžืขืจื›ื•ืช ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื‘ืจืžืช ื”ืงืจื ืœ ื”ืžืืคืฉืจื•ืช ืœื”ืŸ ืœื‘ืจื•ื— ืžื”ืžื™ื›ืœ ืืœ ื”ืžืืจื—. ืœื›ืŸ, ืื ืืชื” ืฆืจื™ืš ืœื‘ื•ื“ื“ ืžืฉื”ื•, ืขื“ื™ืฃ ืœื”ืฉืชืžืฉ ื‘ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช.

ื ื™ืชืŸ ืœืจืื•ืช ืืช ื”ื”ื‘ื“ืœื™ื ื‘ื™ืŸ ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ืœืงื•ื ื˜ื™ื™ื ืจื™ื–ืฆื™ื” ื‘ืชืจืฉื™ื.
ื™ืฉื ื Hypervisors ื—ื•ืžืจื”, Hypervisors ืขืœ ื’ื‘ื™ ืžืขืจื›ืช ื”ื”ืคืขืœื” ื•ืžื›ื•ืœื•ืช.

ืžื” ื–ื” ื“ื•ืงืจ: ื˜ื™ื•ืœ ืงืฆืจ ืœื”ื™ืกื˜ื•ืจื™ื” ื•ื”ืคืฉื˜ื•ืช ื‘ืกื™ืกื™ื•ืช

ื”ื™ืคืจื•ื•ื™ื–ืจื™ ื—ื•ืžืจื” ื”ื ืžื’ื ื™ื‘ื™ื ืื ืืชื” ื‘ืืžืช ืจื•ืฆื” ืœื‘ื•ื“ื“ ืžืฉื”ื•. ื›ื™ ืืคืฉืจ ืœื‘ื•ื“ื“ ื‘ืจืžืช ื“ืคื™ ื–ื™ื›ืจื•ืŸ ื•ืžืขื‘ื“ื™ื.

ื™ืฉ ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื ื›ืชื•ื›ื ื™ืช, ื•ื™ืฉ ืงื•ื ื˜ื™ื™ื ืจื™ื, ื•ื ื“ื‘ืจ ืขืœื™ื”ื ืขื•ื“. ืœืžืขืจื›ื•ืช ืงื•ื ื˜ื™ื™ื ืจื™ื–ืฆื™ื” ืื™ืŸ ื”ื™ืคืจื•ื•ื™ื–ืจ, ืื‘ืœ ื™ืฉื ื• Container Engine ืฉื™ื•ืฆืจ ื•ืžื ื”ืœ ืงื•ื ื˜ื™ื™ื ืจื™ื. ื”ื“ื‘ืจ ื”ื–ื” ื”ื•ื ื™ื•ืชืจ ืงืœ ืžืฉืงืœ, ืื– ื‘ื’ืœืœ ื”ืขื‘ื•ื“ื” ืขื ื”ืœื™ื‘ื” ื™ืฉ ืคื—ื•ืช ืชืงื•ืจื” ืื• ื‘ื›ืœืœ.

ืžื” ืžืฉืžืฉ ืœืงื•ื ื˜ื™ื™ื ืจื™ื–ืฆื™ื” ื‘ืจืžืช ื”ืงืจื ืœ

ื”ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื”ืขื™ืงืจื™ื•ืช ื”ืžืืคืฉืจื•ืช ืœื™ืฆื•ืจ ืงื•ื ื˜ื™ื™ื ืจ ืžื‘ื•ื“ื“ ืžืชื”ืœื™ื›ื™ื ืื—ืจื™ื ื”ื ืžืจื—ื‘ื™ ืฉืžื•ืช ื•ืงื‘ื•ืฆื•ืช ื‘ืงืจื”.

ืžืจื—ื‘ื™ ืฉืžื•ืช: PID, Networking, Mount ื•ืžืฉืชืžืฉ. ื™ืฉ ืขื•ื“, ืื‘ืœ ื›ื“ื™ ืœื”ืงืœ ืขืœ ื”ื”ื‘ื ื” ื ืชืžืงื“ ื‘ืืœื”.

ืžืจื—ื‘ ืฉืžื•ืช PID ืžื’ื‘ื™ืœ ืชื”ืœื™ื›ื™ื. ื›ืืฉืจ, ืœืžืฉืœ, ืื ื• ื™ื•ืฆืจื™ื PID Namespace ื•ืžืžืงืžื™ื ืฉื ืชื”ืœื™ืš, ื”ื•ื ื”ื•ืคืš ืœ-PID 1. ื‘ื“ืจืš ื›ืœืœ ื‘ืžืขืจื›ื•ืช PID 1 ื”ื•ื systemd ืื• init. ื‘ื”ืชืื ืœื›ืš, ื›ืืฉืจ ืื ื• ืžืžืงืžื™ื ืชื”ืœื™ืš ื‘ืžืจื—ื‘ ืฉืžื•ืช ื—ื“ืฉ, ื”ื•ื ืžืงื‘ืœ ื’ื PID 1.

ืžืจื—ื‘ ื”ืฉืžื•ืช ื‘ืจืฉืช ืžืืคืฉืจ ืœืš ืœื”ื’ื‘ื™ืœ/ืœื‘ื•ื“ื“ ืืช ื”ืจืฉืช ื•ืœื”ืฆื™ื‘ ืคื ื™ืžื” ืžืžืฉืงื™ื ืžืฉืœืš. ื”ืจ ื”ื™ื ืžื’ื‘ืœื” ืฉืœ ืžืขืจื›ืช ื”ืงื‘ืฆื™ื. ืžืฉืชืžืฉ - ื”ื’ื‘ืœื” ืขืœ ืžืฉืชืžืฉื™ื.

ืงื‘ื•ืฆื•ืช ื‘ืงืจื”: ื–ื™ื›ืจื•ืŸ, ืžืขื‘ื“, IOPS, ืจืฉืช - ื›-12 ื”ื’ื“ืจื•ืช ื‘ืกืš ื”ื›ืœ. ืื—ืจืช ื”ืŸ ื ืงืจืื•ืช ื’ื Cgroups ("ืงื‘ื•ืฆื•ืช C").

ืงื‘ื•ืฆื•ืช ื‘ืงืจื” ืžื ื”ืœื•ืช ืžืฉืื‘ื™ื ืขื‘ื•ืจ ืงื•ื ื˜ื™ื™ื ืจ. ื“ืจืš Control Groups ื ื•ื›ืœ ืœื•ืžืจ ืฉื”ืžื›ื•ืœื” ืœื ืฆืจื™ื›ื” ืœืฆืจื•ืš ื™ื•ืชืจ ืžื›ืžื•ืช ืžืกื•ื™ืžืช ืฉืœ ืžืฉืื‘ื™ื.

ื›ื“ื™ ืฉื”ืงื•ื ื˜ื™ื™ื ืจื™ื–ืฆื™ื” ืชืขื‘ื•ื“ ื‘ืžืœื•ืื”, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื ื•ืกืคื•ืช: ื™ื›ื•ืœื•ืช, ื”ืขืชืงื”-ืขืœ-ื›ืชื™ื‘ื” ื•ืื—ืจื•ืช.

ื™ื›ื•ืœื•ืช ื”ืŸ ื›ืืฉืจ ืื ื• ืžืกืคืจื™ื ืœืชื”ืœื™ืš ืžื” ื”ื•ื ื™ื›ื•ืœ ื•ืžื” ืœื ื™ื›ื•ืœ ืœืขืฉื•ืช. ื‘ืจืžืช ื”ืงืจื ืœ, ืืœื• ืคืฉื•ื˜ ืžืคื•ืช ืกื™ื‘ื™ื•ืช ืขื ืคืจืžื˜ืจื™ื ืจื‘ื™ื. ืœื“ื•ื’ืžื”, ืœืžืฉืชืžืฉ ื”ืฉื•ืจืฉ ื™ืฉ ื”ืจืฉืื•ืช ืžืœืื•ืช ื•ื”ื•ื ื™ื›ื•ืœ ืœืขืฉื•ืช ื”ื›ืœ. ืฉืจืช ื”ื–ืžืŸ ื™ื›ื•ืœ ืœืฉื ื•ืช ืืช ื–ืžืŸ ื”ืžืขืจื›ืช: ื™ืฉ ืœื• ื™ื›ื•ืœื•ืช ื‘-Time Capsule, ื•ื–ื”ื•. ื‘ืืžืฆืขื•ืช ื”ืจืฉืื•ืช, ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ื‘ื’ืžื™ืฉื•ืช ื”ื’ื‘ืœื•ืช ืœืชื”ืœื™ื›ื™ื, ื•ื‘ื›ืš ืœื”ื’ืŸ ืขืœ ืขืฆืžืš.

ืžืขืจื›ืช Copy-on-write ืžืืคืฉืจืช ืœื ื• ืœืขื‘ื•ื“ ืขื ืชืžื•ื ื•ืช Docker ื•ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื‘ืฆื•ืจื” ื™ืขื™ืœื” ื™ื•ืชืจ.

ืœ-Docker ื™ืฉ ื›ืจื’ืข ื‘ืขื™ื•ืช ืชืื™ืžื•ืช ืขื Cgroups v2, ื›ืš ืฉืžืืžืจ ื–ื” ืžืชืžืงื“ ื‘ืžื™ื•ื—ื“ ื‘-Cgroups v1.

ืื‘ืœ ื‘ื•ืื• ื ื—ื–ื•ืจ ืœื”ื™ืกื˜ื•ืจื™ื”.

ื›ืืฉืจ ื”ื•ืคื™ืขื• ืžืขืจื›ื•ืช ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื‘ืจืžืช ื”ืงืจื ืœ, ื”ื—ืœื• ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื‘ืื•ืคืŸ ืคืขื™ืœ. ื”ืชืงื•ืจื” ื‘-hypervisor ื ืขืœืžื”, ืืš ื ื•ืชืจื• ื›ืžื” ื‘ืขื™ื•ืช:

  • ืชืžื•ื ื•ืช ื’ื“ื•ืœื•ืช: ื”ื ื“ื•ื—ืคื™ื ืžืขืจื›ืช ื”ืคืขืœื”, ืกืคืจื™ื•ืช, ื—ื‘ื•ืจื” ืฉืœ ืชื•ื›ื ื•ืช ืฉื•ื ื•ืช ืœืชื•ืš ืื•ืชื• OpenVZ, ื•ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ื”ืชืžื•ื ื” ืขื“ื™ื™ืŸ ืžืชื‘ืจืจืช ื“ื™ ื’ื“ื•ืœื”;
  • ืื™ืŸ ืชืงืŸ ื ื•ืจืžืœื™ ืœืืจื™ื–ื” ื•ืžืฉืœื•ื—, ื•ืœื›ืŸ ื‘ืขื™ื™ืช ื”ืชืœื•ืช ื ื•ืชืจื” ื‘ืขื™ื ื”. ื™ืฉื ื ืžืฆื‘ื™ื ืฉื‘ื”ื ืฉืชื™ ืคื™ืกื•ืช ืงื•ื“ ืžืฉืชืžืฉื•ืช ื‘ืื•ืชื” ืกืคืจื™ื”, ืืš ืขื ื’ืจืกืื•ืช ืฉื•ื ื•ืช. ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืฉ ืขื™ืžื•ืช ื‘ื™ื ื™ื”ื.

ื›ื“ื™ ืœืคืชื•ืจ ืืช ื›ืœ ื”ื‘ืขื™ื•ืช ื”ืœืœื•, ื”ื’ื™ืข ื”ืขื™ื“ืŸ ื”ื‘ื.

ืขื™ื“ืŸ ื”ืžื›ื•ืœื•ืช

ื›ืฉื”ื’ื™ืข ืขื™ื“ืŸ ื”ืžื›ื•ืœื•ืช, ื”ืคื™ืœื•ืกื•ืคื™ื” ืฉืœ ื”ืขื‘ื•ื“ื” ืื™ืชื ื”ืฉืชื ืชื”:

  • ืชื”ืœื™ืš ืื—ื“ - ืžื™ื›ืœ ืื—ื“.
  • ืื ื• ืžืกืคืงื™ื ืืช ื›ืœ ื”ืชืœื•ืช ืฉื”ืชื”ืœื™ืš ืฆืจื™ืš ืœืžื™ื›ืœ ืฉืœื•. ื–ื” ื“ื•ืจืฉ ื—ื™ืชื•ืš ืžื•ื ื•ืœื™ื˜ื™ื ืœืžื™ืงืจื•-ืฉื™ืจื•ืชื™ื.
  • ื›ื›ืœ ืฉื”ืชืžื•ื ื” ืงื˜ื ื” ื™ื•ืชืจ, ื›ืš ื™ื™ื˜ื‘ - ื™ืฉ ืคื—ื•ืช ืคื’ื™ืขื•ื™ื•ืช ืืคืฉืจื™ื•ืช, ื”ื™ื ืžืชื’ืœื’ืœืช ืžื”ืจ ื™ื•ืชืจ ื•ื›ื•'.
  • ื”ืžืงืจื™ื ื”ื•ืคื›ื™ื ืœื—ื•ืœืคื™ื.

ื–ื•ื›ืจ ืžื” ืืžืจืชื™ ืขืœ ื—ื™ื•ืช ืžื—ืžื“ ืœืขื•ืžืช ื‘ืงืจ? ื‘ืขื‘ืจ, ื”ืžืงืจื™ื ื”ื™ื• ื›ืžื• ื—ื™ื•ืช ื‘ื™ืช, ืื‘ืœ ืขื›ืฉื™ื• ื”ื ื”ืคื›ื• ืœื”ื™ื•ืช ื›ืžื• ื‘ืงืจ. ื‘ืขื‘ืจ, ื”ื™ื” ืžื•ื ื•ืœื™ื˜ - ื™ื™ืฉื•ื ืื—ื“. ืขื›ืฉื™ื• ื–ื” 100 ืฉื™ืจื•ืชื™ ืžื™ืงืจื•, 100 ืžื›ื•ืœื•ืช. ื‘ื—ืœืง ืžื”ืžื™ื›ืœื™ื ืขืฉื•ื™ื™ื ืœื”ื™ื•ืช 2-3 ื”ืขืชืงื™ื. ืคื—ื•ืช ื—ืฉื•ื‘ ืœื ื• ืœืฉืœื•ื˜ ื‘ื›ืœ ืžื™ื›ืœ. ืžื” ืฉื—ืฉื•ื‘ ืœื ื• ื™ื•ืชืจ ื”ื•ื ื”ื–ืžื™ื ื•ืช ืฉืœ ื”ืฉื™ืจื•ืช ืขืฆืžื•: ืžื” ืขื•ืฉื” ืกื˜ ื”ืงื•ื ื˜ื™ื™ื ืจื™ื ื”ื–ื”. ื–ื” ืžืฉื ื” ื’ื™ืฉื•ืช ืœื ื™ื˜ื•ืจ.

ื‘ืฉื ื™ื 2014-2015, ื“ื•ืงืจ ืคืจื—ื” - ื”ื˜ื›ื ื•ืœื•ื’ื™ื” ืขืœื™ื” ื ื“ื‘ืจ ื›ืขืช.

Docker ืฉื™ื ื” ืืช ื”ืคื™ืœื•ืกื•ืคื™ื” ื•ืืจื™ื–ืช ื™ื™ืฉื•ืžื™ื ืกื˜ื ื“ืจื˜ื™ืช. ื‘ืืžืฆืขื•ืช Docker, ื ื•ื›ืœ ืœืืจื•ื– ื™ื™ืฉื•ื, ืœืฉืœื•ื— ืื•ืชื• ืœืžืื’ืจ, ืœื”ื•ืจื™ื“ ืื•ืชื• ืžืฉื ื•ืœืคืจื•ืก ืื•ืชื•.

ืื ื—ื ื• ืžื›ื ื™ืกื™ื ืืช ื›ืœ ืžื” ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืงื•ื ื˜ื™ื™ื ืจ ืฉืœ Docker, ืื– ื‘ืขื™ื™ืช ื”ืชืœื•ืช ื ืคืชืจื”. Docker ืžื‘ื˜ื™ื— ืฉื›ืคื•ืœ. ืื ื™ ื—ื•ืฉื‘ ืฉื”ืจื‘ื” ืื ืฉื™ื ื ืชืงืœื• ื‘ืื™-ืฉื—ื–ื•ืจ: ื”ื›ืœ ืขื•ื‘ื“ ื‘ืฉื‘ื™ืœืš, ืืชื” ื“ื•ื—ืฃ ืืช ื–ื” ืœื™ื™ืฆื•ืจ, ื•ืฉื ื–ื” ืžืคืกื™ืง ืœืขื‘ื•ื“. ืขื Docker ื”ื‘ืขื™ื” ื”ื–ื• ื ืขืœืžืช. ืื ืงื•ื ื˜ื™ื™ื ืจ ื”-Docker ืฉืœืš ืžืชื—ื™ืœ ื•ืขื•ืฉื” ืืช ืžื” ืฉื”ื•ื ืฆืจื™ืš ืœืขืฉื•ืช, ืื– ืขื ืกื‘ื™ืจื•ืช ื’ื‘ื•ื”ื” ืฉื”ื•ื ื™ืชื—ื™ืœ ื‘ื™ื™ืฆื•ืจ ื•ื™ืขืฉื” ืืช ืื•ืชื• ื”ื“ื‘ืจ ืฉื.

ืกื˜ื™ื™ื” ืœื’ื‘ื™ ืชืงื•ืจื”

ืชืžื™ื“ ื™ืฉ ืžื—ืœื•ืงื•ืช ืขืœ ืชืงื•ืจื”. ื™ืฉ ืื ืฉื™ื ื”ืžืืžื™ื ื™ื ืฉ-Docker ืื™ื ื• ื ื•ืฉื ืขื•ืžืก ื ื•ืกืฃ, ืžื›ื™ื•ื•ืŸ ืฉื”ื•ื ืžืฉืชืžืฉ ื‘ืงืจื ืœ ืœื™ื ื•ืงืก ื•ื‘ื›ืœ ื”ืชื”ืœื™ื›ื™ื ื”ื ื—ื•ืฆื™ื ืœ-containerization. ื›ืžื•, "ืื ืืชื” ืื•ืžืจ ืฉ-Docker ื”ื•ื ืชืงื•ืจื”, ืื– ืœื™ื‘ืช ืœื™ื ื•ืงืก ื”ื™ื ืชืงื•ืจื”."

ืžืฆื“ ืฉื ื™, ืื ืžืขืžื™ืงื™ื, ืื›ืŸ ื™ืฉ ื›ืžื” ื“ื‘ืจื™ื ื‘-Docker ืฉืขื ืžืชื™ื—ื” ืืคืฉืจ ืœื•ืžืจ ืฉื”ื ืžืขืœ ื”ืจืืฉ.

ื”ืจืืฉื•ืŸ ื”ื•ื ืžืจื—ื‘ ืฉืžื•ืช PID. ื›ืืฉืจ ืื ื• ืžืžืงืžื™ื ืชื”ืœื™ืš ื‘ืžืจื—ื‘ ืฉืžื•ืช, ืžื•ืงืฆื” ืœื• PID 1. ื‘ืžืงื‘ื™ืœ, ืœืชื”ืœื™ืš ื–ื” ื™ืฉ PID ื ื•ืกืฃ, ืฉื ืžืฆื ื‘ืžืจื—ื‘ ื”ืฉืžื•ืช ื”ืžืืจื—, ืžื—ื•ืฅ ืœืงื•ื ื˜ื™ื™ื ืจ. ืœื“ื•ื’ืžื”, ื”ืฉืงื ื• ืืช Nginx ื‘ืงื•ื ื˜ื™ื™ื ืจ, ื–ื” ื”ืคืš ืœ-PID 1 (ืชื”ืœื™ืš ืžืืกื˜ืจ). ื•ืขืœ ื”ืžืืจื— ื™ืฉ ืœื• PID 12623. ื•ืงืฉื” ืœื•ืžืจ ื›ืžื” ื–ื” ืชืงื•ืจื”.

ื”ื“ื‘ืจ ื”ืฉื ื™ ื”ื•ื Cgroups. ื‘ื•ืื• ื ื™ืงื— Cgroups ืœืคื™ ื–ื™ื›ืจื•ืŸ, ื›ืœื•ืžืจ, ื”ื™ื›ื•ืœืช ืœื”ื’ื‘ื™ืœ ืืช ื”ื–ื™ื›ืจื•ืŸ ืฉืœ ืžื™ื›ืœ. ื›ืืฉืจ ื”ื•ื ืžื•ืคืขืœ, ืžื•ื ื™ื ื•ื—ืฉื‘ื•ืŸ ื–ื™ื›ืจื•ืŸ ืžื•ืคืขืœื™ื: ื”ืงืจื ืœ ืฆืจื™ืš ืœื”ื‘ื™ืŸ ื›ืžื” ืขืžื•ื“ื™ื ื”ื•ืงืฆื• ื•ื›ืžื” ืขื“ื™ื™ืŸ ืคื ื•ื™ื™ื ืขื‘ื•ืจ ืžื™ื›ืœ ื–ื”. ื–ื” ืื•ืœื™ ืชืงื•ืจื”, ืื‘ืœ ืœื ืจืื™ืชื™ ืฉื•ื ืžื—ืงืจ ืžื“ื•ื™ืง ืขืœ ืื™ืš ื–ื” ืžืฉืคื™ืข ืขืœ ื”ื‘ื™ืฆื•ืขื™ื. ื•ืื ื™ ืขืฆืžื™ ืœื ืฉืžืชื™ ืœื‘ ืฉื”ืืคืœื™ืงืฆื™ื” ืฉืจืฆื” ื‘-Docker ื—ื•ื•ืชื” ืคืชืื•ื ื™ืจื™ื“ื” ื—ื“ื” ื‘ื‘ื™ืฆื•ืขื™ื.

ื•ืขื•ื“ ื”ืขืจื” ืœื’ื‘ื™ ื‘ื™ืฆื•ืขื™ื. ื—ืœืง ืžื”ืคืจืžื˜ืจื™ื ืฉืœ ื”ืงืจื ืœ ืžื•ืขื‘ืจื™ื ืžื”ืžืืจื— ืœืžื™ื›ืœ. ื‘ืคืจื˜, ื›ืžื” ืคืจืžื˜ืจื™ื ืฉืœ ืจืฉืช. ืœื›ืŸ, ืื ืืชื” ืจื•ืฆื” ืœื”ืจื™ืฅ ืžืฉื”ื• ื‘ืขืœ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ื‘-Docker, ืœืžืฉืœ, ืžืฉื”ื• ืฉื™ืฉืชืžืฉ ื‘ืจืฉืช ื‘ืื•ืคืŸ ืคืขื™ืœ, ืื– ืืชื” ืœืคื—ื•ืช ืฆืจื™ืš ืœื”ืชืื™ื ืืช ื”ืคืจืžื˜ืจื™ื ื”ืืœื”. nf_conntrack ื›ืœืฉื”ื•, โ€‹โ€‹ืœืžืฉืœ.

ืขืœ ื”ืจืขื™ื•ืŸ ืฉืœ ื“ื•ืงืจ

Docker ืžื•ืจื›ื‘ ืžืžืกืคืจ ืžืจื›ื™ื‘ื™ื:

  1. Docker Daemon ื”ื•ื ืื•ืชื• ืžื ื•ืข ืžื™ื›ืœ; ืžืฉื’ืจ ืžื›ื•ืœื•ืช.
  2. Docker CII ื”ื•ื ื›ืœื™ ืขื–ืจ ืœื ื™ื”ื•ืœ Docker.
  3. Dockerfile - ื”ื•ืจืื•ืช ื›ื™ืฆื“ ืœื‘ื ื•ืช ืชืžื•ื ื”.
  4. ืชืžื•ื ื” - ื”ืชืžื•ื ื” ืฉืžืžื ื” ืžืชื’ืœื’ืœ ื”ืžื™ื›ืœ.
  5. ืžึฐื›ื•ึนืœึธื”.
  6. Docker registry ื”ื•ื ืžืื’ืจ ืชืžื•ื ื•ืช.

ืกื›ืžื˜ื™ืช ื–ื” ื ืจืื” ื‘ืขืจืš ื›ืš:

ืžื” ื–ื” ื“ื•ืงืจ: ื˜ื™ื•ืœ ืงืฆืจ ืœื”ื™ืกื˜ื•ืจื™ื” ื•ื”ืคืฉื˜ื•ืช ื‘ืกื™ืกื™ื•ืช

Docker daemon ืคื•ืขืœ ืขืœ Docker_host ื•ืžืฉื’ืจ ืงื•ื ื˜ื™ื™ื ืจื™ื. ื™ืฉ ืœืงื•ื— ืฉืฉื•ืœื— ืคืงื•ื“ื•ืช: ืœื‘ื ื•ืช ืืช ื”ืชืžื•ื ื”, ืœื”ื•ืจื™ื“ ืืช ื”ืชืžื•ื ื”, ืœื”ืคืขื™ืœ ืืช ื”ืงื•ื ื˜ื™ื™ื ืจ. Docker daemon ื”ื•ืœืš ืœืจื™ืฉื•ื ื•ืžื‘ืฆืข ืื•ืชื. ืœืงื•ื— Docker ื™ื›ื•ืœ ืœื’ืฉืช ื”ืŸ ื‘ืื•ืคืŸ ืžืงื•ืžื™ (ืœืฉืงืข Unix) ื•ื”ืŸ ื‘ืืžืฆืขื•ืช TCP ืžืžืืจื— โ€‹โ€‹ืžืจื•ื—ืง.

ื‘ื•ืื• ื ืขื‘ื•ืจ ืขืœ ื›ืœ ืจื›ื™ื‘.

ื“ืžื•ืŸ ื”ื“ื•ืงืจ - ื–ื” ื—ืœืง ื”ืฉืจืช, ื–ื” ืขื•ื‘ื“ ืขืœ ื”ืžื—ืฉื‘ ื”ืžืืจื—: ืžื•ืจื™ื“ ืชืžื•ื ื•ืช ื•ืžืฉื™ืง ืžื”ื ืงื•ื ื˜ื™ื™ื ืจื™ื, ื™ื•ืฆืจ ืจืฉืช ื‘ื™ืŸ ืงื•ื ื˜ื™ื™ื ืจื™ื, ืื•ืกืฃ ืœื•ื’ื™ื. ื›ืฉืื ื—ื ื• ืื•ืžืจื™ื "ืฆื•ืจ ืชืžื•ื ื”", ื’ื ื”ืฉื“ ืขื•ืฉื” ืืช ื–ื”.

ื“ื•ืงืจ CLI - ื—ืœืง ืœืงื•ื— ืฉืœ Docker, ื›ืœื™ ืขื–ืจ ืœืžืกื•ืฃ ืœืขื‘ื•ื“ื” ืขื ื”ื“ืžื•ืŸ. ืื ื™ ื—ื•ื–ืจ, ื–ื” ื™ื›ื•ืœ ืœืขื‘ื•ื“ ืœื ืจืง ืžืงื•ืžื™ืช, ืืœื ื’ื ื“ืจืš ื”ืจืฉืช.

ืคืงื•ื“ื•ืช ื‘ืกื™ืกื™ื•ืช:

docker ps - ื”ืฆื’ ืงื•ื ื˜ื™ื™ื ืจื™ื ื”ืคื•ืขืœื™ื ื›ืขืช ืขืœ ื”ืžืืจื— ืฉืœ Docker.
ืชืžื•ื ื•ืช docker - ื”ืฆื’ ืชืžื•ื ื•ืช ืฉื”ื•ืจื“ื• ื‘ืื•ืคืŸ ืžืงื•ืžื™.
docker search <> - ื—ืคืฉ ืชืžื•ื ื” ื‘ืจื™ืฉื•ื.
docker pull <> - ื”ื•ืจื“ ืชืžื•ื ื” ืžื”ืจื™ืฉื•ื ืœืžื›ื•ื ื”.
docker build < > - ืืกื•ืฃ ืืช ื”ืชืžื•ื ื”.
docker run <> - ื”ืคืขืœ ืืช ื”ืžื›ื•ืœื”.
docker rm <> - ื”ืกืจ ืืช ื”ืžื™ื›ืœ.
docker logs <> - ื™ื•ืžื ื™ ืžื™ื›ืœ
docker start/stop/restart <> - ืขื‘ื•ื“ื” ืขื ื”ืžื™ื›ืœ

ืื ืืชื” ืฉื•ืœื˜ ื‘ืคืงื•ื“ื•ืช ืืœื” ื•ื‘ื˜ื•ื— ื‘ืฉื™ืžื•ืฉ ื‘ื”ืŸ, ืจืื” ืืช ืขืฆืžืš ื‘ืงื™ ื‘-70% ื‘-Docker ื‘ืจืžืช ื”ืžืฉืชืžืฉ.

ื“ื•ืงืจืคื™ืœ - ื”ื•ืจืื•ืช ืœื™ืฆื™ืจืช ืชืžื•ื ื”. ื›ืžืขื˜ ื›ืœ ืคืงื•ื“ืช ื”ื•ืจืื” ื”ื™ื ืฉื›ื‘ื” ื—ื“ืฉื”. ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื“ื•ื’ืžื”.

ืžื” ื–ื” ื“ื•ืงืจ: ื˜ื™ื•ืœ ืงืฆืจ ืœื”ื™ืกื˜ื•ืจื™ื” ื•ื”ืคืฉื˜ื•ืช ื‘ืกื™ืกื™ื•ืช

ื›ืš ื ืจืื” ื”-Dockerfile: ืคืงื•ื“ื•ืช ืžืฉืžืืœ, ืืจื’ื•ืžื ื˜ื™ื ืžื™ืžื™ืŸ. ื›ืœ ืคืงื•ื“ื” ืฉื ืžืฆืืช ื›ืืŸ (ื•ื‘ื“ืจืš ื›ืœืœ ื›ืชื•ื‘ื” ื‘-Dockerfile) ื™ื•ืฆืจืช ืฉื›ื‘ื” ื—ื“ืฉื” ื‘ืชืžื•ื ื”.

ืืคื™ืœื• ื‘ื”ืกืชื›ืœื•ืช ืขืœ ื”ืฆื“ ื”ืฉืžืืœื™, ืืชื” ื™ื›ื•ืœ ืœื”ื‘ื™ืŸ ื‘ืขืจืš ืžื” ืงื•ืจื”. ืื ื—ื ื• ืื•ืžืจื™ื: "ืฆื•ืจ ืœื ื• ืชื™ืงื™ื™ื”" - ื–ื• ืฉื›ื‘ื” ืื—ืช. "ื”ืคื•ืš ืืช ื”ืชื™ืงื™ื” ืœืขื‘ื•ื“ื”" ื”ื™ื ืฉื›ื‘ื” ื ื•ืกืคืช, ื•ื›ืŸ ื”ืœืื”. ืขื•ื’ืช ืฉื›ื‘ื•ืช ืขื•ืฉื” ืืช ื”ื—ื™ื™ื ืงืœื™ื ื™ื•ืชืจ. ืื ืื ื™ ื™ื•ืฆืจ Dockerfile ืื—ืจ ื•ืžืฉื ื” ืžืฉื”ื• ื‘ืฉื•ืจื” ื”ืื—ืจื•ื ื” - ืื ื™ ืžืจื™ืฅ ืžืฉื”ื• ืื—ืจ ืžืœื‘ื“ "python" "main.py", ืื• ืžืชืงื™ืŸ ืชืœื•ืช ืžืงื•ื‘ืฅ ืื—ืจ - ืื– ื”ืฉื›ื‘ื•ืช ื”ืงื•ื“ืžื•ืช ื™ืขืฉื• ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื›ืžื˜ืžื•ืŸ.

ืชืžื•ื ื” - ื–ื•ื”ื™ ืืจื™ื–ืช ืžื™ื›ืœ; ืžื™ื›ืœื™ื ืžื•ืคืขืœื™ื ืžื”ืชืžื•ื ื”. ืื ื ืกืชื›ืœ ืขืœ Docker ืžื ืงื•ื“ืช ื”ืžื‘ื˜ ืฉืœ ืžื ื”ืœ ื—ื‘ื™ืœื•ืช (ื›ืื™ืœื• ืื ื—ื ื• ืขื•ื‘ื“ื™ื ืขื ื—ื‘ื™ืœื•ืช deb ืื• rpm), ืื– ืชืžื•ื ื” ื”ื™ื ื‘ืขืฆื ื—ื‘ื™ืœืช rpm. ื‘ืืžืฆืขื•ืช yum install ื ื•ื›ืœ ืœื”ืชืงื™ืŸ ืืช ื”ืืคืœื™ืงืฆื™ื”, ืœืžื—ื•ืง ืื•ืชื”, ืœืžืฆื•ื ืื•ืชื” ื‘ืžืื’ืจ ื•ืœื”ื•ืจื™ื“ ืื•ืชื”. ื–ื” ื‘ืขืจืš ืื•ืชื• ื“ื‘ืจ ื›ืืŸ: ืงื•ื ื˜ื™ื™ื ืจื™ื ืžื•ืคืขืœื™ื ืžื”ืชืžื•ื ื”, ื”ื ืžืื•ื—ืกื ื™ื ื‘ืจื™ืฉื•ื ืฉืœ Docker (ื‘ื“ื•ืžื” ืœ-yum, ื‘ืžืื’ืจ), ื•ืœื›ืœ ืชืžื•ื ื” ื™ืฉ Hash SHA-256, ืฉื ื•ืชื’.

ื”ืชืžื•ื ื” ื‘ื ื•ื™ื” ืœืคื™ ื”ื”ื•ืจืื•ืช ืžื”- Dockerfile. ื›ืœ ื”ื•ืจืื” ืžื”- Dockerfile ื™ื•ืฆืจืช ืฉื›ื‘ื” ื—ื“ืฉื”. ื ื™ืชืŸ ืœืขืฉื•ืช ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ืฉื›ื‘ื•ืช.

ืจื™ืฉื•ื Docker ื”ื•ื ืžืื’ืจ ืชืžื•ื ื•ืช ืฉืœ Docker. ื‘ื“ื•ืžื” ืœืžืขืจื›ืช ื”ื”ืคืขืœื”, ืœ-Docker ื™ืฉ ืจื™ืฉื•ื ืกื˜ื ื“ืจื˜ื™ ืฆื™ื‘ื•ืจื™ - dockerhub. ืื‘ืœ ืืชื” ื™ื›ื•ืœ ืœื‘ื ื•ืช ืžืื’ืจ ืžืฉืœืš, ืจื™ืฉื•ื Docker ืžืฉืœืš.

ืžื›ื•ืœื” - ืžื” ืžื•ืคืขืœ ืžื”ืชืžื•ื ื”. ื‘ื ื™ื ื• ืชืžื•ื ื” ืœืคื™ ื”ื”ื•ืจืื•ืช ืžื”- Dockerfile, ื•ืื– ืื ื—ื ื• ืžืฉื™ืงื™ื ืื•ืชื” ืžื”ืชืžื•ื ื” ื”ื–ื•. ืžื™ื›ืœ ื–ื” ืžื‘ื•ื“ื“ ืžืžื™ื›ืœื™ื ืื—ืจื™ื ื•ืขืœื™ื• ืœื”ื›ื™ืœ ืืช ื›ืœ ื”ื“ืจื•ืฉ ื›ื“ื™ ืฉื”ืืคืœื™ืงืฆื™ื” ืชืคืขืœ. ื‘ืžืงืจื” ื–ื”, ืžื™ื›ืœ ืื—ื“ - ืชื”ืœื™ืš ืื—ื“. ืงื•ืจื” ืฉืฆืจื™ืš ืœืขืฉื•ืช ืฉื ื™ ืชื”ืœื™ื›ื™ื, ืื‘ืœ ื–ื” ืงืฆืช ืžื ื•ื’ื“ ืœืื™ื“ื™ืื•ืœื•ื’ื™ื” ืฉืœ ื“ื•ืงืจ.

ื”ื“ืจื™ืฉื” "ืžื™ื›ืœ ืื—ื“, ืชื”ืœื™ืš ืื—ื“" ืงืฉื•ืจื” ืœืžืจื—ื‘ ื”ืฉืžื•ืช ืฉืœ PID. ื›ืืฉืจ ืชื”ืœื™ืš ืขื PID 1 ืžืชื—ื™ืœ ื‘-Namespace, ืื ื”ื•ื ืžืช ืคืชืื•ื, ืื– ื’ื ื”ืžื™ื›ืœ ื›ื•ืœื• ืžืช. ืื ืคื•ืขืœื™ื ืฉื ืฉื ื™ ืชื”ืœื™ื›ื™ื: ืื—ื“ ื—ื™ ื•ื”ืฉื ื™ ืžืช, ืื– ื”ืžื™ื›ืœ ืขื“ื™ื™ืŸ ื™ืžืฉื™ืš ืœื—ื™ื•ืช. ืื‘ืœ ื–ื• ืฉืืœื” ืฉืœ ืฉื™ื˜ื•ืช ืขื‘ื•ื“ื” ืžื•ืžืœืฆื•ืช, ื ื“ื‘ืจ ืขืœื™ื”ืŸ ื‘ื—ื•ืžืจื™ื ืื—ืจื™ื.

ื›ื“ื™ ืœืœืžื•ื“ ืืช ื”ืชื›ื•ื ื•ืช ื•ื”ืชื•ื›ื ื™ืช ื”ืžืœืื” ืฉืœ ื”ืงื•ืจืก ื‘ื™ืชืจ ืคื™ืจื•ื˜, ืื ื ื”ื™ื›ื ืกื• ืœืงื™ืฉื•ืจ: "ืงื•ืจืก ื•ื™ื“ืื• ืฉืœ ื“ื•ืงืจ".

ืžื—ื‘ืจ: ืžืจืกืœ ืื™ื‘ืจื™ื™ื‘, ืžื ื”ืœ ืžื•ืกืžืš ืฉืœ Kubernetes, ืžื”ื ื“ืก ื‘ืคื•ืขืœ ื‘ืกืื•ืช'ื‘ืจื™ื“ื’', ื“ื•ื‘ืจ ื•ืžืคืชื— ืงื•ืจืกื™ Slurm.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”