Π¨Ρ‚ΠΎ Π΅ Π”ΠΎΠΊΠ΅Ρ€: ΠΊΡ€Π°Ρ‚ΠΊΠ° Π΅ΠΊΡΠΊΡƒΡ€Π·ΠΈΡ˜Π° Π²ΠΎ ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ основнитС апстракции

Π—Π°ΠΏΠΎΡ‡Π½Π° Π½Π° 10 август Π²ΠΎ Π‘Π»ΡƒΡ€ΠΌ Π”ΠΎΠΊΠ΅Ρ€ Π²ΠΈΠ΄Π΅ΠΎ курс, Π²ΠΎ која цСлосно Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ - ΠΎΠ΄ основни апстракции Π΄ΠΎ ΠΌΡ€Π΅ΠΆΠ½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ.

Π’ΠΎ ΠΎΠ²Π°Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° ќС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° Docker ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ Π³Π»Π°Π²Π½ΠΈ апстракции: Image, Cli, Dockerfile. ΠŸΡ€Π΅Π΄Π°Π²Π°ΡšΠ΅Ρ‚ΠΎ Π΅ Π½Π°ΠΌΠ΅Π½Π΅Ρ‚ΠΎ Π·Π° ΠΏΠΎΡ‡Π΅Ρ‚Π½ΠΈΡ†ΠΈ, ΠΏΠ° Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎ Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ интСрСсно Π·Π° искуснитС корисници. НСма Π΄Π° ΠΈΠΌΠ° ΠΊΡ€Π², слСпо Ρ†Ρ€Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π΄Π»Π°Π±ΠΎΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΏΡƒΠ²Π°ΡšΠ΅. Π‘Π°ΠΌΠΈΡ‚Π΅ основи.

Π¨Ρ‚ΠΎ Π΅ Π”ΠΎΠΊΠ΅Ρ€: ΠΊΡ€Π°Ρ‚ΠΊΠ° Π΅ΠΊΡΠΊΡƒΡ€Π·ΠΈΡ˜Π° Π²ΠΎ ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ основнитС апстракции

Π¨Ρ‚ΠΎ Π΅ Π”ΠΎΠΊΠ΅Ρ€

АјдС Π΄Π° ја ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° Π”ΠΎΠΊΠ΅Ρ€ ΠΎΠ΄ Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ˜Π°.

Docker Π΅ софтвСр Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΈ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ со Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ срСдини.

ΠΠΈΡˆΡ‚ΠΎ Π½Π΅ Π΅ јасно ΠΎΠ΄ ΠΎΠ²Π°Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°. ОсобСно Π΅ нСјасно ΡˆΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ β€žΠ²ΠΎ срСдини ΡˆΡ‚ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°Π°Ρ‚ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°β€œ. Π—Π° Π΄Π° Π΄ΠΎΠ·Π½Π°Π΅ΠΌΠ΅, Π΄Π° сС Π²Ρ€Π°Ρ‚ΠΈΠΌΠ΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ. Π”Π° ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅ со Π΅Ρ€Π°Ρ‚Π° ΡˆΡ‚ΠΎ јас ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΠΎΠ½Π°Π»Π½ΠΎ ја Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π°ΠΌ β€žΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Π° Π΅Ρ€Π°β€œ.

ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Π° Π΅Ρ€Π°

ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Π°Ρ‚Π° Π΅Ρ€Π° Π΅ Ρ€Π°Π½ΠΈΡ‚Π΅ 2000-Ρ‚ΠΈ, ΠΊΠΎΠ³Π° ситС Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π±Π΅Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΈ, со Π΅Π΄Π΅Π½ ΠΊΡƒΠΏ зависности. Π Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Ρ‚Ρ€Π°Π΅ΡˆΠ΅ Π΄ΠΎΠ»Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅. Π’ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, нСмашС ΠΌΠ½ΠΎΠ³Ρƒ сСрвСри, ситС Π³ΠΈ Π·Π½Π°Π΅Π²ΠΌΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅ ΠΈ Π³ΠΈ слСдСвмС. Има Π΅Π΄Π½Π° Ρ‚Π°ΠΊΠ²Π° смСшна спорСдба:

Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ‚Π΅ ΠΌΠΈΠ»Π΅Π½ΠΈΡ†ΠΈ сС домашни ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΈ. Π’ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Π°Ρ‚Π° Π΅Ρ€Π°, Π³ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΡ€Π°Π²ΠΌΠ΅ Π½Π°ΡˆΠΈΡ‚Π΅ сСрвСри ΠΊΠ°ΠΊΠΎ ΠΌΠΈΠ»Π΅Π½ΠΈΡ‡ΠΈΡšΠ°, Π½Π΅Π³ΡƒΠ²Π°Π½ΠΈ ΠΈ Π½Π΅Π³ΡƒΠ²Π°Π½ΠΈ, Π΄ΡƒΠ²Π°Ρ˜ΡœΠΈ Π΄Π°ΠΌΠΊΠΈ ΠΏΡ€Π°ΡˆΠΈΠ½Π°. И Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со рСсурситС, користСвмС Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°: Π·Π΅Π΄ΠΎΠ²ΠΌΠ΅ сСрвСр ΠΈ Π³ΠΎ прСсСковмС Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈ машини, со ΡˆΡ‚ΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΠ²ΠΌΠ΅ ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π°.

БистСми Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€

Π‘ΠΈΡ‚Π΅ Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎ ΡΠ»ΡƒΡˆΠ½Π°Π»Π΅ Π·Π° систСми Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°: VMware, VirtualBox, Hyper-V, Qemu KVM ΠΈΡ‚Π½. Π’ΠΈΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со рСсурси, Π½ΠΎ ΠΈΠΌΠ°Π°Ρ‚ ΠΈ нСдостатоци. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°, ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅Π½ Π²ΠΈ Π΅ Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€. И Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΡ‚ Π΅ рСсурс ΠΏΡ€Π΅ΠΊΡƒ Π³Π»Π°Π²Π°. И самата Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° машина Π΅ ΠΎΠ±ΠΈΡ‡Π½ΠΎ Ρ†Π΅Π» колос - Ρ‚Π΅ΡˆΠΊΠ° слика која содрТи ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ систСм, Nginx, Apache, Π° ΠΌΠΎΠΆΠ΅Π±ΠΈ ΠΈ MySQL. Π‘Π»ΠΈΠΊΠ°Ρ‚Π° Π΅ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π°Ρ‚Π° машина Π΅ Π½Π΅Π·Π³ΠΎΠ΄Π½Π° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°. Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° со Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈ машини ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π±Π°Π²Π½Π°. Π—Π° Π΄Π° сС Ρ€Π΅ΡˆΠΈ овој ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, систСми Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π±Π΅Π° ΠΊΡ€Π΅ΠΈΡ€Π°Π½ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ.

БистСми Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Ρ˜Π°Π΄Ρ€ΠΎ

Π’ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π» Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½Π° ΠΎΠ΄ систСми OpenVZ, Systemd-nspawn, LXC. Π’ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΠΈΠ² ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Ρ‚Π°ΠΊΠ²Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π΅ LXC (Linux Containers).

LXC Π΅ систСм Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ систСм Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° повСќС ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм Linux Π½Π° Π΅Π΄Π΅Π½ јазол. LXC Π½Π΅ користи Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈ машини, Ρ‚ΡƒΠΊΡƒ создава Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° срСдина со сопствСн процСсСн простор ΠΈ ΠΌΡ€Π΅ΠΆΠ΅Π½ стСк.

Π’ΠΎ ΡΡƒΡˆΡ‚ΠΈΠ½Π° LXC создава ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ. Која Π΅ Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈΡ‚Π΅ машини ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅?

Π¨Ρ‚ΠΎ Π΅ Π”ΠΎΠΊΠ΅Ρ€: ΠΊΡ€Π°Ρ‚ΠΊΠ° Π΅ΠΊΡΠΊΡƒΡ€Π·ΠΈΡ˜Π° Π²ΠΎ ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ основнитС апстракции

ΠšΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ Π½Π΅ Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π΅Π½ Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°ΡšΠ΅ Π½Π° процСситС: Π²ΠΎ систСмитС Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π» сС Π½Π°ΠΎΡ“Π°Π°Ρ‚ ранливости ΡˆΡ‚ΠΎ ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°Π°Ρ‚ Π΄Π° ΠΈΠ·Π±Π΅Π³Π°Π°Ρ‚ ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ Π΄ΠΎ Π΄ΠΎΠΌΠ°ΡœΠΈΠ½ΠΎΡ‚. Π—Π°Ρ‚ΠΎΠ°, Π°ΠΊΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Ρ‚Π΅ Π½Π΅ΡˆΡ‚ΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ Π΅ Π΄Π° користитС Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° машина.

Π Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²ΠΈΠ΄Π°Ρ‚ Π½Π° Π΄ΠΈΡ˜Π°Π³Ρ€Π°ΠΌΠΎΡ‚.
ΠŸΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ хардвСрски Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΈ, Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΈ Π½Π° Π²Ρ€Π²ΠΎΡ‚ Π½Π° ОБ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ.

Π¨Ρ‚ΠΎ Π΅ Π”ΠΎΠΊΠ΅Ρ€: ΠΊΡ€Π°Ρ‚ΠΊΠ° Π΅ΠΊΡΠΊΡƒΡ€Π·ΠΈΡ˜Π° Π²ΠΎ ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ основнитС апстракции

Π₯ардвСрскитС Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΈ сС ΠΊΡƒΠ» Π°ΠΊΠΎ навистина сакатС Π΄Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Ρ‚Π΅ Π½Π΅ΡˆΡ‚ΠΎ. Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π°Ρ‚ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° мСмориски страници ΠΈ процСсори.

Има Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΈ ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, ΠΈΠΌΠ° ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΈ Π·Π° Π½ΠΈΠ² ќС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ½Π°Ρ‚Π°ΠΌΡƒ. БистСмитС Π·Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π΅ΠΌΠ°Π°Ρ‚ Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€, Π½ΠΎ постои Container Engine кој создава ΠΈ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π° со ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ. Оваа Ρ€Π°Π±ΠΎΡ‚Π° Π΅ полСсна, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΏΠΎΡ€Π°Π΄ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° со Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ ΠΈΠΌΠ° ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ Ρ‚Ρ€ΠΎΡˆΠΎΡ†ΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ Π½Π΅ΠΌΠ°.

Π¨Ρ‚ΠΎ сС користи Π·Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Ρ˜Π°Π΄Ρ€ΠΎ

Π“Π»Π°Π²Π½ΠΈΡ‚Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠΎΠΈ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π°Π°Ρ‚ Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈ процСси сС ΠŸΡ€ΠΎΡΡ‚ΠΎΡ€ΠΈ со имиња ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Π³Ρ€ΡƒΠΏΠΈ.

ΠŸΡ€ΠΎΡΡ‚ΠΎΡ€ΠΈ со имиња: PID, Networking, Mount ΠΈ User. Има повСќС, Π½ΠΎ Π·Π° полСсно Ρ€Π°Π·Π±ΠΈΡ€Π°ΡšΠ΅ ќС сС фокусирамС Π½Π° Π½ΠΈΠ².

PID Π˜ΠΌΠ΅Π½ΡΠΊΠΈΠΎΡ‚ простор Π³ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π° процСситС. Кога, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ќС создадСмС PID имСнски простор ΠΈ ќС поставимС процСс Ρ‚Π°ΠΌΡƒ, Ρ‚ΠΎΡ˜ станува со PID 1. ΠžΠ±ΠΈΡ‡Π½ΠΎ Π²ΠΎ систСмитС PID 1 Π΅ систСмски ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΡ€Π°Π½. Π‘ΠΏΠΎΡ€Π΅Π΄ Ρ‚ΠΎΠ°, ΠΊΠΎΠ³Π° поставувамС процСс Π²ΠΎ Π½ΠΎΠ² имСнски простор, Ρ‚ΠΎΡ˜ Π΄ΠΎΠ±ΠΈΠ²Π° ΠΈ PID 1.

Π’ΠΌΡ€Π΅ΠΆΡƒΠ²Π°ΡšΠ΅ имСнски простор Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ја ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅/ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Ρ‚Π΅ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ Π΄Π° поставитС свои ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΈ Π²Π½Π°Ρ‚Ρ€Π΅. ΠœΠΎΠ½Ρ‚ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм. ΠšΠΎΡ€ΠΈΡΠ½ΠΈΠΊ - ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° корисницитС.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Π³Ρ€ΡƒΠΏΠΈ: ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°, процСсор, IOPS, ΠΌΡ€Π΅ΠΆΠ° - Π²ΠΊΡƒΠΏΠ½ΠΎ ΠΎΠΊΠΎΠ»Ρƒ 12 поставки. Π˜Π½Π°ΠΊΡƒ Ρ‚ΠΈΠ΅ сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π°Π°Ρ‚ ΠΈ Cgroups (β€žC-Π³Ρ€ΡƒΠΏΠΈβ€œ).

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΈ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Π°Ρ‚ со рСсурситС Π·Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€. ΠŸΡ€Π΅ΠΊΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Ρ‚Ρ€ΠΎΡˆΠΈ повСќС ΠΎΠ΄ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½Π° ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π° рСсурси.

Π—Π° цСлосно Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°, сС користат Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: способности, Copy-on-write ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ.

БпособноститС сС ΠΊΠΎΠ³Π° ΠΌΡƒ ΠΊΠ°ΠΆΡƒΠ²Π°ΠΌΠ΅ Π½Π° процСсот ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ ΠΈ ΡˆΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ. На Π½ΠΈΠ²ΠΎ Π½Π° Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ, ΠΎΠ²Π° сС Сдноставно Π±ΠΈΡ‚ΠΌΠ°ΠΏΠΈ со ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, root корисникот ΠΈΠΌΠ° цСлосни ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ сè. ВрСмСнскиот сСрвСр ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° систСмот: ΠΈΠΌΠ° моТности Π½Π° ВрСмСнската капсула ΠΈ Ρ‚ΠΎΠ° Π΅ Ρ‚ΠΎΠ°. ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ флСксибилно Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ° Π·Π° процСситС ΠΈ со Ρ‚ΠΎΠ° Π΄Π° сС Π·Π°ΡˆΡ‚ΠΈΡ‚ΠΈΡ‚Π΅.

БистСмот Copy-on-write Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌΠ΅ со Docker слики ΠΈ Π΄Π° Π³ΠΈ користимС поСфикасно.

Π”ΠΎΠΊΠ΅Ρ€ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со компатибилноста со Cgroups v2, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ овој напис сС фокусира ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π½Π° Cgroups v1.

Но, Π΄Π° сС Π²Ρ€Π°Ρ‚ΠΈΠΌΠ΅ Π½Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π°.

Кога систСмитС Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° сС појавија Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ, Ρ‚ΠΈΠ΅ ΠΏΠΎΡ‡Π½Π°Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° сС користат. НадзСмнитС Ρ‚Ρ€ΠΎΡˆΠΎΡ†ΠΈ Π½Π° Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΡ‚ исчСзнаа, Π½ΠΎ останаа Π½Π΅ΠΊΠΎΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ:

  • Π³ΠΎΠ»Π΅ΠΌΠΈ слики: Ρ‚ΡƒΡ€ΠΊΠ°Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ систСм, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΡƒΠΏ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ софтвСр Π²ΠΎ истиот OpenVZ, ΠΈ Π½Π° ΠΊΡ€Π°Ρ˜ΠΎΡ‚ сликата сСпак сС ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° доста Π³ΠΎΠ»Π΅ΠΌΠ°;
  • НС постои Π½ΠΎΡ€ΠΌΠ°Π»Π΅Π½ стандард Π·Π° ΠΏΠ°ΠΊΡƒΠ²Π°ΡšΠ΅ ΠΈ испорака, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ со зависноститС останува. ΠŸΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ ситуации ΠΊΠΎΠ³Π° Π΄Π²Π΅ ΠΏΠ°Ρ€Ρ‡ΠΈΡšΠ° ΠΊΠΎΠ΄ користат иста Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Π½ΠΎ со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²Π΅Ρ€Π·ΠΈΠΈ. МоТС Π΄Π° ΠΈΠΌΠ° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΌΠ΅Ρ“Ρƒ Π½ΠΈΠ².

Π—Π° Π΄Π° сС Ρ€Π΅ΡˆΠ°Ρ‚ ситС ΠΎΠ²ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, дојдС слСдната Π΅Ρ€Π°.

Π•Ρ€Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ

Кога пристигна Π΅Ρ€Π°Ρ‚Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅, Ρ„ΠΈΠ»ΠΎΠ·ΠΎΡ„ΠΈΡ˜Π°Ρ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° со Π½ΠΈΠ² сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • Π•Π΄Π΅Π½ процСс - Π΅Π΄Π΅Π½ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€.
  • Π“ΠΈ доставувамС ситС зависности ΡˆΡ‚ΠΎ ΠΌΡƒ сС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π½Π° процСсот Π΄ΠΎ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€. Ова Π±Π°Ρ€Π° ΡΠ΅Ρ‡Π΅ΡšΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ Π²ΠΎ микросСрвис.
  • ΠšΠΎΠ»ΠΊΡƒ Π΅ ΠΏΠΎΠΌΠ°Π»Π° сликата, Ρ‚ΠΎΠ»ΠΊΡƒ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ - ΠΈΠΌΠ° ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΈ ранливости, Ρ‚Π°Π° сС исфрла ΠΏΠΎΠ±Ρ€Π·ΠΎ ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°ΠΌΡƒ.
  • Π‘Π»ΡƒΡ‡Π°ΠΈΡ‚Π΅ стануваат Π΅Ρ„Π΅ΠΌΠ΅Ρ€Π½ΠΈ.

Π‘Π΅ ΡΠ΅ΡœΠ°Π²Π°Ρ‚Π΅ ΡˆΡ‚ΠΎ ΠΊΠ°ΠΆΠ°Π² Π·Π° ΠΌΠΈΠ»Π΅Π½ΠΈΡ‡ΠΈΡšΠ° ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π³ΠΎΠ²Π΅Π΄Π°? ΠŸΠΎΡ€Π°Π½ΠΎ инстанцитС Π±Π΅Π° ΠΊΠ°ΠΊΠΎ домашни ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΈ, Π° сСга станаа ΠΊΠ°ΠΊΠΎ Π³ΠΎΠ²Π΅Π΄Π°. ΠŸΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ, имашС ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ - Π΅Π΄Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°. Π‘Π΅Π³Π° ΠΈΠΌΠ° 100 микросСрвиси, 100 ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ. НСкои ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ°Π°Ρ‚ 2-3 Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ. Π—Π° нас станува ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ Π²Π°ΠΆΠ½ΠΎ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°ΠΌΠ΅ сСкој ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€. Она ΡˆΡ‚ΠΎ Π½ΠΈ Π΅ ΠΏΠΎΠ²Π°ΠΆΠ½ΠΎ Π΅ достапноста Π½Π° самата услуга: ΡˆΡ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ овој сСт Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ. Ова Π³ΠΎ ΠΌΠ΅Π½ΡƒΠ²Π° пристапот ΠΊΠΎΠ½ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΡ‚.

Π’ΠΎ 2014-2015 Π³ΠΎΠ΄ΠΈΠ½Π°, Π”ΠΎΠΊΠ΅Ρ€ ΠΏΡ€ΠΎΡ†Π²Π΅Ρ‚Π° - Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π·Π° која ќС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ сСга.

Π”ΠΎΠΊΠ΅Ρ€ ја смСни Ρ„ΠΈΠ»ΠΎΠ·ΠΎΡ„ΠΈΡ˜Π°Ρ‚Π° ΠΈ стандардизирано ΠΏΠ°ΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ Docker, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΠ°ΠΊΡƒΠ²Π°ΠΌΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, Π΄Π° ја испратимС Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅, Π΄Π° ја ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅ΠΌΠ΅ ΠΎΠ΄ Ρ‚Π°ΠΌΡƒ ΠΈ Π΄Π° ја распорСдимС.

Π‘Ρ‚Π°Π²ΠΈΠ²ΠΌΠ΅ сè ΡˆΡ‚ΠΎ Π½ΠΈ Ρ‚Ρ€Π΅Π±Π° Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ Docker, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ со зависноста Π΅ Ρ€Π΅ΡˆΠ΅Π½. Docker Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° рСпродуктивност. Мислам Π΄Π΅ΠΊΠ° ΠΌΠ½ΠΎΠ³Ρƒ Π»ΡƒΡ“Π΅ сС срСтнаа со нСрСпродуктивност: сè Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π° вас, Π³ΠΎ Ρ‚ΡƒΡ€ΠΊΠ°Ρ‚Π΅ Π΄ΠΎ производство ΠΈ Ρ‚Π°ΠΌΡƒ прСстанува Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ. Π‘ΠΎ Docker овој ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ исчСзнува. Ако Π²Π°ΡˆΠΈΠΎΡ‚ Docker ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ стартува ΠΈ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΎΠ½Π° ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ, Ρ‚ΠΎΠ³Π°Ρˆ со Π³ΠΎΠ»Π΅ΠΌ стСпСн Π½Π° Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎΡΡ‚ ќС Π·Π°ΠΏΠΎΡ‡Π½Π΅ со производство ΠΈ ќС Π³ΠΎ стори истото Ρ‚Π°ΠΌΡƒ.

Π”ΠΈΠ³Ρ€Π΅ΡΠΈΡ˜Π° Π·Π° Π½Π°Π΄Π·Π΅ΠΌΠ½ΠΈ Ρ‚Ρ€ΠΎΡˆΠΎΡ†ΠΈ

БСкогаш ΠΈΠΌΠ° спорови Π·Π° ΠΎΠΏΡˆΡ‚ΠΈΡ‚Π΅ Ρ‚Ρ€ΠΎΡˆΠΎΡ†ΠΈ. НСкои Π»ΡƒΡ“Π΅ Π²Π΅Ρ€ΡƒΠ²Π°Π°Ρ‚ Π΄Π΅ΠΊΠ° Docker Π½Π΅ носи Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅, бидСјќи Π³ΠΎ користи ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Linux ΠΈ ситС Π½Π΅Π³ΠΎΠ²ΠΈ процСси Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΈ Π·Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°. Како, β€žΠ°ΠΊΠΎ ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π΄Π΅ΠΊΠ° Docker Π΅ Π½Π°Π΄ Π³Π»Π°Π²Π°, Ρ‚ΠΎΠ³Π°Ρˆ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Linux Π΅ Π½Π°Π΄ Π³Π»Π°Π²Π°β€œ.

Од Π΄Ρ€ΡƒΠ³Π° страна, Π°ΠΊΠΎ Π½Π°Π²Π»Π΅Π·Π΅Ρ‚Π΅ ΠΏΠΎΠ΄Π»Π°Π±ΠΎΠΊΠΎ, навистина ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ Π”ΠΎΠΊΠ΅Ρ€ Π·Π° ΠΊΠΎΠΈ, со ΠΈΡΡ‚Π΅Π³Π½ΡƒΠ²Π°ΡšΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΊΠ°ΠΆΠ΅ Π΄Π΅ΠΊΠ° сС Π½Π°Π΄ Π³Π»Π°Π²Π°.

ΠŸΡ€Π²ΠΈΠΎΡ‚ Π΅ имСнскиот простор Π½Π° PID. Кога поставувамС процСс Π²ΠΎ имСнски простор, ΠΌΡƒ сС Π΄ΠΎΠ΄Π΅Π»ΡƒΠ²Π° PID 1. Π’ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, овој процСс ΠΈΠΌΠ° ΡƒΡˆΡ‚Π΅ Π΅Π΄Π΅Π½ PID, кој сС Π½Π°ΠΎΡ“Π° Π½Π° имСнскиот простор Π½Π° Π΄ΠΎΠΌΠ°ΡœΠΈΠ½ΠΎΡ‚, Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³ΠΎ лансиравмС Nginx Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€, Ρ‚ΠΎΡ˜ стана PID 1 (Π³Π»Π°Π²Π΅Π½ процСс). И Π½Π° Π΄ΠΎΠΌΠ°ΡœΠΈΠ½ΠΎΡ‚ ΠΈΠΌΠ° PID 12623. И Ρ‚Π΅ΡˆΠΊΠΎ Π΅ Π΄Π° сС ΠΊΠ°ΠΆΠ΅ ΠΊΠΎΠ»ΠΊΠ°Π²Π° Π΅ Ρ†Π΅Π½Π°Ρ‚Π°.

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π΅ Cgroups. Π”Π° Π³ΠΈ Π·Π΅ΠΌΠ΅ΠΌΠ΅ Cgroups ΠΏΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°, односно способноста Π΄Π° сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€. Кога Π΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ, сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π°Ρ‚ Π±Ρ€ΠΎΡ˜Π°Ρ‡ΠΈΡ‚Π΅ ΠΈ смСтководството Π·Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°: ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΊΠΎΠ»ΠΊΡƒ страници сС Π΄ΠΎΠ΄Π΅Π»Π΅Π½ΠΈ ΠΈ ΠΊΠΎΠ»ΠΊΡƒ сС ΡƒΡˆΡ‚Π΅ сС слободни Π·Π° овој ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€. Ова Π΅ ΠΌΠΎΠΆΠ΅Π±ΠΈ Π½Π°Π΄ Π³Π»Π°Π²Π°, Π½ΠΎ Π½Π΅ сум Π²ΠΈΠ΄Π΅Π» Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€Π΅Ρ†ΠΈΠ·Π½ΠΈ студии Π·Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ Ρ‚ΠΎΠ° влијаС Π½Π° пСрформанситС. И јас самиот Π½Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠ°Π² Π΄Π΅ΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ Docker одСднаш Π΄ΠΎΠΆΠΈΠ²Π΅Π° остра Π·Π°Π³ΡƒΠ±Π° Π²ΠΎ пСрформанситС.

И ΡƒΡˆΡ‚Π΅ Π΅Π΄Π½Π° забСлСшка Π·Π° пСрформанситС. НСкои ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ сС прСнСсуваат ΠΎΠ΄ Π΄ΠΎΠΌΠ°ΡœΠΈΠ½ΠΎΡ‚ Π΄ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚. ОсобСно, Π½Π΅ΠΊΠΎΠΈ ΠΌΡ€Π΅ΠΆΠ½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ. Π—Π°Ρ‚ΠΎΠ°, Π°ΠΊΠΎ сакатС Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ Π½Π΅ΡˆΡ‚ΠΎ со високи пСрформанси Π²ΠΎ Docker, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΡˆΡ‚ΠΎ ΡˆΡ‚ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ќС ја користи ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, Ρ‚ΠΎΠ³Π°Ρˆ Π±Π°Ρ€Π΅ΠΌ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΠΈΡ‚Π΅ ΠΎΠ²ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ. НСкои nf_conntrack, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π—Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΠΎΡ‚ Docker

Π”ΠΎΠΊΠ΅Ρ€ сС состои ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ:

  1. Docker Daemon Π΅ истиот Container Engine; лансира ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ.
  2. Docker CII Π΅ Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со Docker.
  3. Dockerfile - инструкции Π·Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ Π΄Π° сС ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ слика.
  4. Π‘Π»ΠΈΠΊΠ° β€” слика ΠΎΠ΄ која сС Π²Π°Π»Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚.
  5. ΠšΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€.
  6. ДокСрскиот рСгистар Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ Π·Π° слики.

ШСматски ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:

Π¨Ρ‚ΠΎ Π΅ Π”ΠΎΠΊΠ΅Ρ€: ΠΊΡ€Π°Ρ‚ΠΊΠ° Π΅ΠΊΡΠΊΡƒΡ€Π·ΠΈΡ˜Π° Π²ΠΎ ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ основнитС апстракции

Π”ΠΎΠΊΠ΅Ρ€ Π΄Π΅ΠΌΠΎΠ½ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° Docker_host ΠΈ лансира ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ кој ΠΈΡΠΏΡ€Π°ΡœΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ: ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ ја сликата, ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ ја сликата, ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°Ρ˜Ρ‚Π΅ Π³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚. Docker daemon ΠΎΠ΄ΠΈ Π²ΠΎ рСгистарот ΠΈ Π³ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ Docker ΠΌΠΎΠΆΠ΅ Π΄Π° пристапи ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ (Π΄ΠΎ Unix ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊ) ΠΈ ΠΏΡ€Π΅ΠΊΡƒ TCP ΠΎΠ΄ ΠΎΠ΄Π΄Π°Π»Π΅Ρ‡Π΅Π½ домаќин.

АјдС Π΄Π° ΠΏΠΎΠΌΠΈΠ½Π΅ΠΌΠ΅ Π½ΠΈΠ· сСкоја ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°.

Π”ΠΎΠΊΠ΅Ρ€ Π΄Π΅ΠΌΠΎΠ½ - ΠΎΠ²Π° Π΅ Π΄Π΅Π» ΠΎΠ΄ сСрвСрот, Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π° домаќин: ΠΏΡ€Π΅Π·Π΅ΠΌΠ° слики ΠΈ лансира ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΎΠ΄ Π½ΠΈΠ², создава ΠΌΡ€Π΅ΠΆΠ° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅, собира Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ. Кога Π²Π΅Π»ΠΈΠΌΠ΅ β€žΡΠΎΠ·Π΄Π°Π΄ΠΈ ΡΠ»ΠΈΠΊΠ°β€œ, Π΄Π΅ΠΌΠΎΠ½ΠΎΡ‚ исто Ρ‚Π°ΠΊΠ° Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ°.

Π”ΠΎΠΊΠ΅Ρ€ CLI β€” Π”ΠΎΠΊΠ΅Ρ€ клиСнтски Π΄Π΅Π», Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° со Π΄Π΅ΠΌΠΎΠ½ΠΎΡ‚. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡƒΠ²Π°ΠΌ, ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π΅ само Π»ΠΎΠΊΠ°Π»Π½ΠΎ, Ρ‚ΡƒΠΊΡƒ ΠΈ ΠΏΡ€Π΅ΠΊΡƒ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°.

Основни команди:

docker ps - ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π°Ρ˜ Π³ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° Π΄ΠΎΠΌΠ°ΡœΠΈΠ½ΠΎΡ‚ Docker.
Π΄ΠΎΠΊΠ΅Ρ€ слики - ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π°Ρ˜ слики ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Π½ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ.
Π΄ΠΎΠΊΠ΅Ρ€ ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ <> - ΠΏΠΎΠ±Π°Ρ€Π°Ρ˜Ρ‚Π΅ слика Π²ΠΎ рСгистарот.
docker pull <> - ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ слика ΠΎΠ΄ рСгистарот Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π°.
Π΄ΠΎΠΊΠ΅Ρ€ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ < > - собСрСтС ја сликата.
docker run <> - ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°Ρ˜Ρ‚Π΅ Π³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚.
docker rm <> - ΠΈΠ·Π²Π°Π΄Π΅Ρ‚Π΅ Π³ΠΎ садот.
Π΄ΠΎΠΊΠ΅Ρ€ Π»ΠΎΠ³ΠΎΠ²ΠΈ <> - Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π·Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ
docker start/stop/restart <> - Ρ€Π°Π±ΠΎΡ‚Π° со ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚

Ако Π³ΠΈ совладатС ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ стС сигурни Π²ΠΎ Π½ΠΈΠ²Π½ΠΎΡ‚ΠΎ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅, ΡΠΌΠ΅Ρ‚Π°Ρ˜Ρ‚Π΅ Π΄Π΅ΠΊΠ° стС 70% ΡƒΠΌΠ΅ΡˆΠ΅Π½ Π²ΠΎ Docker Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° корисник.

dockerfile - инструкции Π·Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ слика. РСчиси сСкоја ΠΊΠΎΠΌΠ°Π½Π΄Π° со инструкции Π΅ Π½ΠΎΠ² слој. АјдС Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π¨Ρ‚ΠΎ Π΅ Π”ΠΎΠΊΠ΅Ρ€: ΠΊΡ€Π°Ρ‚ΠΊΠ° Π΅ΠΊΡΠΊΡƒΡ€Π·ΠΈΡ˜Π° Π²ΠΎ ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ основнитС апстракции

Π’Π°ΠΊΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° Dockerfile: ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π»Π΅Π²ΠΎ, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ дСсно. БСкоја ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡˆΡ‚ΠΎ Π΅ ΠΎΠ²Π΄Π΅ (ΠΈ Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ напишана Π²ΠΎ Dockerfile) создава Π½ΠΎΠ² слој Π²ΠΎ Image.

Π”ΡƒΡ€ΠΈ ΠΈ глСдајќи Π½Π° Π»Π΅Π²Π°Ρ‚Π° страна, Π³Ρ€ΡƒΠ±ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΡˆΡ‚ΠΎ сС случува. НиС Π²Π΅Π»ΠΈΠΌΠ΅: β€žΡΠΎΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΏΠ°ΠΏΠΊΠ° Π·Π° Π½Π°Ρβ€œ - ΠΎΠ²Π° Π΅ Π΅Π΄Π΅Π½ слој. β€žΠΠ°ΠΏΡ€Π°Π²ΠΈ ја ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈβ€œ Π΅ ΡƒΡˆΡ‚Π΅ Π΅Π΄Π΅Π½ слој, ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°ΠΌΡƒ. Π‘Π»ΠΎΡ˜Π½Π°Ρ‚Π° Ρ‚ΠΎΡ€Ρ‚Π° Π³ΠΎ олСснува ΠΆΠΈΠ²ΠΎΡ‚ΠΎΡ‚. Ако создадам Π΄Ρ€ΡƒΠ³ Dockerfile ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π°ΠΌ Π½Π΅ΡˆΡ‚ΠΎ Π²ΠΎ послСдната линија - стартувам Π½Π΅ΡˆΡ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ освСн β€žpythonβ€œ β€žmain.pyβ€œ, ΠΈΠ»ΠΈ инсталирам зависност ΠΎΠ΄ Π΄Ρ€ΡƒΠ³Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° - Ρ‚ΠΎΠ³Π°Ρˆ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ слоСви ќС сС користат ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΊΠ°ΠΊΠΎ кСш.

Π‘Π»ΠΈΠΊΠ°Ρ‚Π° - ΠΎΠ²Π° Π΅ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΡΠΊΠΎ ΠΏΠ°ΠΊΡƒΠ²Π°ΡšΠ΅; ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ сС лансираат ΠΎΠ΄ сликата. Ако Π³ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Docker ΠΎΠ΄ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ (ΠΊΠ°ΠΊΠΎ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌΠ΅ со deb ΠΈΠ»ΠΈ rpm ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ), Ρ‚ΠΎΠ³Π°Ρˆ сликата Π²ΠΎ ΡΡƒΡˆΡ‚ΠΈΠ½Π° Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ со Π²Ρ€Ρ‚Π΅ΠΆΠΈ Π²ΠΎ ΠΌΠΈΠ½ΡƒΡ‚Π°. ΠŸΡ€Π΅ΠΊΡƒ yum install ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ја инсталирамС Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°, Π΄Π° ја ΠΈΠ·Π±Ρ€ΠΈΡˆΠ΅ΠΌΠ΅, Π΄Π° ја најдСмС Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ ΠΈ Π΄Π° ја ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅ΠΌΠ΅. ОвдС Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ исто: ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ сС лансираат ΠΎΠ΄ сликата, сС Ρ‡ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ рСгистарот Docker (слично Π½Π° yum, Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅) ΠΈ сСкоја слика ΠΈΠΌΠ° Ρ…Π°Ρˆ SHA-256, ΠΈΠΌΠ΅ ΠΈ ΠΎΠ·Π½Π°ΠΊΠ°.

Π‘Π»ΠΈΠΊΠ°Ρ‚Π° Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½Π° спорСд упатствата ΠΎΠ΄ Dockerfile. БСкоја ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ˜Π° ΠΎΠ΄ Dockerfile создава Π½ΠΎΠ² слој. Π‘Π»ΠΎΠ΅Π²ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π΄Π° сС користат.

Π”ΠΎΠΊΠ΅Ρ€ рСгистар Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ Π·Π° слики Π½Π° Docker. Π‘Π»ΠΈΡ‡Π½ΠΎ Π½Π° ОБ, Docker ΠΈΠΌΠ° јавСн стандардСн рСгистар - dockerhub. Но, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ сопствСно ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅, свој Docker рСгистар.

ΠšΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ - ΡˆΡ‚ΠΎ сС лансира ΠΎΠ΄ сликата. Π˜Π·Π³Ρ€Π°Π΄ΠΈΠ²ΠΌΠ΅ слика спорСд упатствата ΠΎΠ΄ Dockerfile, Π° ΠΏΠΎΡ‚ΠΎΠ° ја стартувамС ΠΎΠ΄ ΠΎΠ²Π°Π° слика. Овој ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΈ ΠΌΠΎΡ€Π° Π΄Π° содрТи сС ΡˆΡ‚ΠΎ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π·Π° Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, Π΅Π΄Π΅Π½ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ - Π΅Π΄Π΅Π½ процСс. Π‘Π΅ случува Π΄Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π΄Π²Π° процСси, Π½ΠΎ Ρ‚ΠΎΠ° Π΅ Π½Π΅ΡˆΡ‚ΠΎ спротивно Π½Π° ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π”ΠΎΠΊΠ΅Ρ€.

Π‘Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ β€žΠ΅Π΄Π΅Π½ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€, Π΅Π΄Π΅Π½ ΠΏΡ€ΠΎΡ†Π΅Ρβ€œ Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΎ со Π˜ΠΌΠ΅Π½ΡΠΊΠΈΠΎΡ‚ простор Π½Π° PID. Кога ќС Π·Π°ΠΏΠΎΡ‡Π½Π΅ процСс со PID 1 Π²ΠΎ Π˜ΠΌΠ΅Π½ΡΠΊΠΈΠΎΡ‚ простор, Π°ΠΊΠΎ одСднаш ΡƒΠΌΡ€Π΅, Ρ‚ΠΎΠ³Π°Ρˆ ΡƒΠΌΠΈΡ€Π° ΠΈ Ρ†Π΅Π»ΠΈΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€. Ако Ρ‚Π°ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π΄Π²Π° процСса: Π΅Π΄Π½ΠΈΠΎΡ‚ Π΅ ΠΆΠΈΠ², Π° Π΄Ρ€ΡƒΠ³ΠΈΠΎΡ‚ ΠΌΡ€Ρ‚ΠΎΠ², Ρ‚ΠΎΠ³Π°Ρˆ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ сСпак ќС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ Π΄Π° ΠΆΠΈΠ²Π΅Π΅. Но, ΠΎΠ²Π° Π΅ ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅ Π½Π° Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, ќС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° Π½ΠΈΠ² Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈ.

Π—Π° ΠΏΠΎΠ΄Π΅Ρ‚Π°Π»Π½ΠΎ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡƒΡ‡ΠΈΡ‚Π΅ карактСристикитС ΠΈ цСлосната ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π½Π° курсот, Π²Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ слСдСтС ја врската: β€œΠ”ΠΎΠΊΠ΅Ρ€ Π²ΠΈΠ΄Π΅ΠΎ курс".

Автор: ΠœΠ°Ρ€ΡΠ΅Π» Π˜Π±Ρ€Π°Π΅Π², сСртифициран администратор Π½Π° ΠšΡƒΠ±Π΅Ρ€Π½Π΅Ρ‚Π΅Ρ, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ Π²ΠΎ Π‘Π°ΡƒΡ‚Π±Ρ€ΠΈΡŸ, Π³ΠΎΠ²ΠΎΡ€Π½ΠΈΠΊ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ Π½Π° курсСви Π·Π° Slurm.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€