Π Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€

Π’Π΅ΠΌΠ°Ρ‚Π° Π·Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° systemd Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ја слСдимС ΠΏΠΎΠ΄ΠΎΠ»Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅. Назад Π²ΠΎ 2014 Π³ΠΎΠ΄ΠΈΠ½Π°, Π½Π°ΡˆΠΈΠΎΡ‚ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ Π·Π° бСзбСдност Π”Π°Π½ΠΈΠ΅Π» Π’ΠΎΠ»Ρˆ напиша ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° Π Π°Π±ΠΎΡ‚ΠΈ систСмски Π²ΠΎ Π΄ΠΎΠΊΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€, Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΏΠΎΠ΄ΠΎΡ†Π½Π° - Π΄Ρ€ΡƒΠ³, кој бСшС Π½Π°Ρ€Π΅Ρ‡Π΅Π½ БистСмот Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€Π°Π½ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€, Π²ΠΎ која Ρ‚ΠΎΡ˜ изјави Π΄Π΅ΠΊΠ° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π°. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, Ρ‚ΠΎΡ˜ напиша Π΄Π΅ΠΊΠ° β€žΠ·Π° ΠΆΠ°Π», Π΄ΡƒΡ€ΠΈ ΠΈ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΏΠΎΠ΄ΠΎΡ†Π½Π°, Π°ΠΊΠΎ Π³ΡƒΠ³Π»Π°Ρ‚Π΅ β€žDocker systemβ€œ, ΠΏΡ€Π²ΠΎΡ‚ΠΎ Π½Π΅ΡˆΡ‚ΠΎ ΡˆΡ‚ΠΎ ќС сС појави Π΅ истиот Π½Π΅Π³ΠΎΠ² стар напис. Π—Π½Π°Ρ‡ΠΈ, Π²Ρ€Π΅ΠΌΠ΅ Π΅ Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΌΠ΅ Π½Π΅ΡˆΡ‚ΠΎβ€œ. ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, Π½ΠΈΠ΅ вСќС Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°Π²ΠΌΠ΅ Π·Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Docker ΠΈ систСмскитС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ.

Π Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€

Π’ΠΎ ΠΎΠ²Π°Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° ќС ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΡˆΡ‚ΠΎ сС смСнило со Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊΠΎ Подман ΠΌΠΎΠΆΠ΅ Π΄Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π²ΠΎ ΠΎΠ²Π° ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅.

ΠŸΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π΄Π° сС Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° систСмот Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС:

  1. ΠœΡƒΠ»Ρ‚ΠΈΡΠ΅Ρ€Π²ΠΈΡΠ½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ – ΠΌΠ½ΠΎΠ³Ρƒ Π»ΡƒΡ“Π΅ сакаат Π΄Π° Π³ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π°Ρ‚ своитС ΠΌΡƒΠ»Ρ‚ΠΈ-сСрвисни Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ΄ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈΡ‚Π΅ машини ΠΈ Π΄Π° Π³ΠΈ користат Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ. Π‘ΠΈ Π±ΠΈΠ»ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ, сС Ρ€Π°Π·Π±ΠΈΡ€Π°, Π΄Π° сС Ρ€Π°Π·Π΄Π΅Π»Π°Ρ‚ Ρ‚Π°ΠΊΠ²ΠΈΡ‚Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²ΠΎ микросСрвиси, Π½ΠΎ Π½Π΅ сСкој сè ΡƒΡˆΡ‚Π΅ Π·Π½Π°Π΅ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ° ΠΈΠ»ΠΈ Сдноставно Π½Π΅ΠΌΠ° Π²Ρ€Π΅ΠΌΠ΅. Π—Π°Ρ‚ΠΎΠ°, ΠΏΡƒΡˆΡ‚Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π°ΠΊΠ²ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎ услуги лансирани ΠΎΠ΄ systemd ΠΎΠ΄ Π΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠΌΠ° ΡΠΎΠ²Ρ€ΡˆΠ΅Π½Π° смисла.
  2. Π”Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ со систСмски Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ – ΠŸΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ сС ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΎΠ΄ ΠΊΠΎΠ΄ ΡˆΡ‚ΠΎ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Π» Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈ ΠΈΠ»ΠΈ Ρ„ΠΈΠ·ΠΈΡ‡ΠΊΠΈ машини. ОвиС Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠΌΠ°Π°Ρ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΡˆΡ‚ΠΎ Π΅ напишана Π·Π° ΠΎΠ²ΠΈΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π° ΠΊΠ°ΠΊΠΎ Ρ‚ΠΈΠ΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС стартуваат. Π—Π°Ρ‚ΠΎΠ°, сСпак Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ услуги со помош Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, намСсто Π΄Π° ја Ρ…Π°ΠΊΠΈΡ€Π°Ρ‚Π΅ сопствСната ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»Π½Π° услуга.
  3. Systemd Π΅ ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ Π½Π° процСси. Π£ΠΏΡ€Π°Π²ΡƒΠ²Π° со услугитС (Π³ΠΈ исклучува, Π³ΠΈ рСстартира услугитС ΠΈΠ»ΠΈ Π³ΠΈ ΡƒΠ±ΠΈΠ²Π° процСситС Π½Π° Π·ΠΎΠΌΠ±ΠΈ) ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ ΠΎΠ΄ која Π±ΠΈΠ»ΠΎ Π΄Ρ€ΡƒΠ³Π° Π°Π»Π°Ρ‚ΠΊΠ°.

Како ΡˆΡ‚ΠΎ Ρ€Π΅Ρ‡Π΅, ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π΄Π° Π½Π΅ сС Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° систСмот Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ. Π“Π»Π°Π²Π½Π°Ρ‚Π° Π΅ Π΄Π΅ΠΊΠ° systemd/journald Π³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° ΠΈΠ·Π»Π΅Π·ΠΎΡ‚ ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ ΠšΡƒΠ±Π΅Ρ€Π½Π΅Ρ‚ΠΈ ΠΈΠ»ΠΈ openshift ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Ρ˜Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π° ΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚ Π΄Π½Π΅Π²Π½ΠΈΠΊ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π° stdout ΠΈ stderr. Π—Π°Ρ‚ΠΎΠ°, Π°ΠΊΠΎ сакатС Π΄Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‚Π΅ со ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΏΡ€Π΅ΠΊΡƒ Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° ΠΎΡ€ΠΊΠ΅ΡΡ‚Ρ€Π°Ρ†ΠΈΡ˜Π° ΠΊΠ°ΠΊΠΎ ΠΎΠ½ΠΈΠ΅ спомСнати ΠΏΠΎΠ³ΠΎΡ€Π΅, Ρ‚Ρ€Π΅Π±Π° сСриозно Π΄Π° размислитС Π·Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° систСм. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π½Π° Docker ΠΈ Moby чСстопати Π±Π΅Π° силно ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° systemd Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ.

Π”ΠΎΠ°Ρ“Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Подман

Π‘Ρ€Π΅ΡœΠ½ΠΈ смС Π΄Π° извСстимС Π΄Π΅ΠΊΠ° ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π½Π°ΠΏΡ€Π΅Π΄ΡƒΠ²Π°. Π’ΠΈΠΌΠΎΡ‚ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° водСњС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Π²ΠΎ Red Hat ΠΎΠ΄Π»ΡƒΡ‡ΠΈ Π΄Π° сС Ρ€Π°Π·Π²ΠΈΠ΅ свој ΠΌΠΎΡ‚ΠΎΡ€ Π·Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€. Π”ΠΎΠ±ΠΈ ΠΈΠΌΠ΅ Подман ΠΈ Π³ΠΎ Π½ΡƒΠ΄ΠΈ истиот ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија (CLI) ΠΊΠ°ΠΊΠΎ ΠΈ Docker. И скоро ситС Docker ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС користат Π²ΠΎ Podman Π½Π° ист Π½Π°Ρ‡ΠΈΠ½. ЧСсто спровСдувамС сСминари, ΠΊΠΎΠΈ сСга сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π°Π°Ρ‚ ΠŸΡ€ΠΎΠΌΠ΅Π½Π° Π½Π° Docker Π²ΠΎ Podman, Π° ΠΏΡ€Π²ΠΈΠΎΡ‚ слајд Π±Π°Ρ€Π° ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅: алијас docker=podman.

ΠœΠ½ΠΎΠ³Ρƒ Π»ΡƒΡ“Π΅ Π³ΠΎ ΠΏΡ€Π°Π²Π°Ρ‚ ΠΎΠ²Π°.

ΠœΠΎΡ˜ΠΎΡ‚ Podman ΠΈ јас Π²ΠΎ никој ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π΅ смС ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° систСм. На ΠΊΡ€Π°Ρ˜ΠΎΡ‚ Π½Π° ΠΊΡ€Π°ΠΈΡˆΡ‚Π°Ρ‚Π°, Systemd Π΅ Π½Π°Ρ˜Ρ‡Π΅ΡΡ‚ΠΎ користСниот подсистСм Π·Π° Linux init, Π° Π½Π΅ Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π°Ρ˜ΡœΠΈ ΠΌΡƒ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ ΠΈΠ»Ρ˜Π°Π΄Π½ΠΈΡ†ΠΈ Π»ΡƒΡ“Π΅ сС Π½Π°Π²ΠΈΠΊΠ½Π°Ρ‚ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ со ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ.

Подман Π·Π½Π°Π΅ ΡˆΡ‚ΠΎ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ Π·Π° систСмот Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€. ΠŸΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ сС Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°ΠΊΠΎ ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ° Π½Π° tmpfs Π½Π° /run ΠΈ /tmp. Π’Π°Π° сака Π΄Π° ΠΈΠΌΠ° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½Π° β€žΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠ·ΠΈΡ€Π°Π½Π°β€œ ΠΎΠΊΠΎΠ»ΠΈΠ½Π° ΠΈ ΠΎΡ‡Π΅ΠΊΡƒΠ²Π° Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ Π·Π° ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½Π΅Ρ˜Π·ΠΈΠ½ΠΈΠΎΡ‚ Π΄Π΅Π» ΠΎΠ΄ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ cgroup ΠΈ Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° /var/log/journald.

Кога стартуватС ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ Π²ΠΎ кој ΠΏΡ€Π²Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΅ init ΠΈΠ»ΠΈ systemd, Podman автоматски Π³ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π° tmpfs ΠΈ Cgroups Π·Π° Π΄Π° сС осигура Π΄Π΅ΠΊΠ° systemd Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π° Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π—Π° Π΄Π° Π³ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚Π΅ овој Ρ€Π΅ΠΆΠΈΠΌ Π½Π° автоматско ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅, користСтС ја ΠΎΠΏΡ†ΠΈΡ˜Π°Ρ‚Π° --systemd=false. Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° Podman користи систСмски Ρ€Π΅ΠΆΠΈΠΌ само ΠΊΠΎΠ³Π° ќС Π²ΠΈΠ΄ΠΈ Π΄Π΅ΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° systemd ΠΈΠ»ΠΈ init.

Π•Π²Π΅ ΠΈΠ·Π²Π°Π΄ΠΎΠΊ ΠΎΠ΄ ΠΏΡ€ΠΈΡ€Π°Ρ‡Π½ΠΈΠΊΠΎΡ‚:

Ρ‡ΠΎΠ²Π΅ΠΊ podman Ρ‚Ρ€Ρ‡Π°ΡšΠ΅
...

–systemd=true|Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎ

Π’ΠΎΠ΄Π΅ΡšΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ Π²ΠΎ систСмски Ρ€Π΅ΠΆΠΈΠΌ. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½ΠΎ Π΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ.

Ако ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° systemd ΠΈΠ»ΠΈ init Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€, Podman ќС Π³ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π° Ρ‚ΠΎΡ‡ΠΊΠΈΡ‚Π΅ Π·Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°ΡšΠ΅ tmpfs Π²ΠΎ слСднитС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΈ:

/run, /run/lock, /tmp, /sys/fs/cgroup/systemd, /var/lib/journal

Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠ°, стандардниот сигнал Π·Π° стоп ќС Π±ΠΈΠ΄Π΅ SIGRTMIN+3.

Π‘Π΅Ρ‚ΠΎ ΠΎΠ²Π° ΠΌΡƒ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π° systemd Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈ.

Π—ΠΠ‘Π•Π›Π•Π¨ΠšΠ: systemd сС ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π° Π΄Π° запишС Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм cgroup. Π‘Π΅ΠΏΠ°ΠΊ, SELinux стандардно Π³ΠΈ спрСчува ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π° Π³ΠΎ ΠΏΡ€Π°Π²Π°Ρ‚ Ρ‚ΠΎΠ°. Π—Π° Π΄Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΡ‚Π΅ ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π³ΠΎ Π±ΡƒΠ» ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ΠΎΡ‚ container_manage_cgroup:

setsebool -P container_manage_cgroup true

Π‘Π΅Π³Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π° Dockerfile Π·Π° водСњС Π½Π° систСмот Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Podman:

# cat Dockerfile

FROM fedora

RUN dnf -y install httpd; dnf clean all; systemctl enable httpd

EXPOSE 80

CMD [ "/sbin/init" ]

Воа С сС.

Π‘Π΅Π³Π° Π³ΠΎ собирамС ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚:

# podman build -t systemd .

ΠœΡƒ ΠΊΠ°ΠΆΡƒΠ²Π°ΠΌΠ΅ Π½Π° SELinux Π΄Π° Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ systemd Π΄Π° ја ΠΌΠ΅Π½ΡƒΠ²Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Cgroups:

# setsebool -P container_manage_cgroup true

ΠŸΠ°Ρ‚Π΅ΠΌ, ΠΌΠ½ΠΎΠ³Ρƒ Π»ΡƒΡ“Π΅ Π·Π°Π±ΠΎΡ€Π°Π²Π°Π°Ρ‚ Π½Π° овој Ρ‡Π΅ΠΊΠΎΡ€. Π—Π° ΡΡ€Π΅ΡœΠ°, ΠΎΠ²Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ само Сднаш ΠΈ поставката сС Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π° ΠΏΠΎ Ρ€Π΅ΡΡ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° систСмот.

Π‘Π΅Π³Π° само Π³ΠΎ Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚:

# podman run -ti -p 80:80 systemd

systemd 239 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)

Detected virtualization container-other.

Detected architecture x86-64.

Welcome to Fedora 29 (Container Image)!

Set hostname to <1b51b684bc99>.

Failed to install release agent, ignoring: Read-only file system

File /usr/lib/systemd/system/systemd-journald.service:26 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.

Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)

[  OK ] Listening on initctl Compatibility Named Pipe.

[  OK ] Listening on Journal Socket (/dev/log).

[  OK ] Started Forward Password Requests to Wall Directory Watch.

[  OK ] Started Dispatch Password Requests to Console Directory Watch.

[  OK ] Reached target Slices.

…

[  OK ] Started The Apache HTTP Server.

Π’ΠΎΠ° Π΅ сè, услугата Π΅ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ:

$ curl localhost

<html  xml_lang="en" lang="en">

…

</html>

Π—ΠΠ‘Π•Π›Π•Π¨ΠšΠ: НС Π³ΠΎ ΠΏΡ€ΠΎΠ±ΡƒΠ²Π°Ρ˜Ρ‚Π΅ ΠΎΠ²Π° Π½Π° Docker! Π’Π°ΠΌΡƒ сè ΡƒΡˆΡ‚Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Ρ‚Π°Π½Ρ†ΡƒΠ²Π°Ρ‚Π΅ со Ρ‚Π°ΠΌΠ±ΡƒΡ€Π° Π·Π° Π΄Π° Π³ΠΈ лансиратС ΠΎΠ²ΠΈΠ΅ Π²ΠΈΠ΄ΠΎΠ²ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Π½ΠΈΠ· Π΄Π΅ΠΌΠΎΠ½ΠΎΡ‚. (ЌС Π±ΠΈΠ΄Π°Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ полиња ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π·Π° сСто ΠΎΠ²Π° Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° бСспрСкорно Π²ΠΎ Docker, ΠΈΠ»ΠΈ ќС Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€Π°Π½ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€. Π—Π° Π΄Π΅Ρ‚Π°Π»ΠΈ, Π²ΠΈΠ΄Π΅Ρ‚Π΅ Π§Π»Π΅Π½.)

Π£ΡˆΡ‚Π΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ интСрСсни Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π° Podman ΠΈ systemd

Podman Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ ΠΎΠ΄ Docker Π²ΠΎ систСмскитС Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ

Ако ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС стартуваат ΠΊΠΎΠ³Π° систСмот ќС сС ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅, Ρ‚ΠΎΠ³Π°Ρˆ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Сдноставно Π΄Π° Π³ΠΈ Π²ΠΌΠ΅Ρ‚Π½Π΅Ρ‚Π΅ соодвСтнитС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° Podman Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ‚Π° systemd, која ќС ја стартува услугата ΠΈ ќС ја слСди. Podman Π³ΠΎ користи стандардниот ΠΌΠΎΠ΄Π΅Π» fork-exec. Π‘ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ, ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΡΠΊΠΈΡ‚Π΅ процСси сС Π΄Π΅Ρ†Π° Π½Π° процСсот Podman, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ systemd ΠΌΠΎΠΆΠ΅ лСсно Π΄Π° Π³ΠΈ слСди.

Docker користи ΠΌΠΎΠ΄Π΅Π» ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр, Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ Π½Π° Docker CLI исто Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° сС стават Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, ΡˆΡ‚ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ Π½Π° Docker ќС сС ΠΏΠΎΠ²Ρ€Π·Π΅ со Π΄Π΅ΠΌΠΎΠ½ΠΎΡ‚ Π½Π° Docker, Ρ‚ΠΎΡ˜ (ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚) станува само ΡƒΡˆΡ‚Π΅ Π΅Π΄Π΅Π½ процСс Π·Π° Ρ€Π°ΠΊΡƒΠ²Π°ΡšΠ΅ со stdin ΠΈ stdout. Π—Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚, systemd Π½Π΅ΠΌΠ° идСја Π·Π° врската ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ Docker ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° Docker Π΄Π΅ΠΌΠΎΠ½ΠΎΡ‚, ΠΈ Π·Π°Ρ‚ΠΎΠ°, Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° овој ΠΌΠΎΠ΄Π΅Π», systemd Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ја слСди услугата.

ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΡšΠ΅ Π½Π° систСмот ΠΏΡ€Π΅ΠΊΡƒ ΡˆΡ‚Π΅ΠΊΠ΅Ρ€

Podman ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ сС справува со Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅ΠΊΡƒ ΡˆΡ‚Π΅ΠΊΠ΅Ρ€ΠΎΡ‚. Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ Podman Π³ΠΎ користи ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ fork-exec, Ρ‚ΠΎΡ˜ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΈ ΡˆΡ‚Π΅ΠΊΠ΅Ρ€ΠΎΡ‚ Π΄ΠΎ процСситС Π½Π° ΡΠ²ΠΎΡ˜ΠΎΡ‚ Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€. Docker Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΎΠ²Π° бидСјќи користи ΠΌΠΎΠ΄Π΅Π» ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр.

Услугата varlink ΡˆΡ‚ΠΎ ја користи Podman Π·Π° Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π° со далСчински ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Π²ΡΡƒΡˆΠ½ΠΎΡΡ‚ сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊ. ΠŸΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ cockpit-podman, напишан Π²ΠΎ Node.js ΠΈ Π΄Π΅Π» ΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Π½Π° ΠΊΠΎΠΊΠΏΠΈΡ‚ΠΎΡ‚, ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π° Π»ΡƒΡ“Π΅Ρ‚ΠΎ Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Π°Ρ‚ со ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° Podman ΠΏΡ€Π΅ΠΊΡƒ Π²Π΅Π±-ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ. Π’Π΅Π±-Π΄Π΅ΠΌΠΎΠ½ΠΎΡ‚ кој Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° ΠΊΠΎΠΊΠΏΠΈΡ‚-ΠΏΠΎΠ΄ΠΌΠ°Π½ ΠΈΡΠΏΡ€Π°ΡœΠ° ΠΏΠΎΡ€Π°ΠΊΠΈ Π΄ΠΎ ΡˆΡ‚Π΅ΠΊΠ΅Ρ€ΠΎΡ‚ varlink ΡˆΡ‚ΠΎ систСмот Π³ΠΎ ΡΠ»ΡƒΡˆΠ°. Systemd ΠΏΠΎΡ‚ΠΎΠ° ја Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Podman Π·Π° Π΄Π° ΠΏΡ€ΠΈΠΌΠ° ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ Π΄Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π° со ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅. ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° systemd ΠΏΡ€Π΅ΠΊΡƒ ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊ ја Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° ΠΎΠ΄ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄Π΅ΠΌΠΎΠ½ ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° далСчински API.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, Ρ€Π°Π·Π²ΠΈΠ²Π°ΠΌΠ΅ ΡƒΡˆΡ‚Π΅ Π΅Π΄Π΅Π½ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π° Podman Π½Π°Ρ€Π΅Ρ‡Π΅Π½ ΠΏΠΎΠ΄ΠΌΠ°Π½-далСчински ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡, кој Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° истиот Podman CLI, Π½ΠΎ Π³ΠΎ ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π° varlink Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ. Podman-далСчинскиот ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° Π²Ρ€Π²ΠΎΡ‚ Π½Π° сСсиитС Π½Π° SSH, ΡˆΡ‚ΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Ρ‚Π΅ со ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ машини. Π‘ΠΎ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ΄ΠΌΠ°Π½-далСчински ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Ρ‡ Π΄Π° ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° MacOS ΠΈ Windows Π·Π°Π΅Π΄Π½ΠΎ со Linux, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° машина Линукс со Podman varlink ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ Π΄Π° ΠΈΠΌΠ°Π°Ρ‚ цСлосно искуство Π΄Π΅ΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° машина.

SD_NOTIFY

Systemd Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΎ ΠΎΠ΄Π»ΠΎΠΆΠΈΡ‚Π΅ ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠΌΠΎΡˆΠ½ΠΈΡ‚Π΅ услуги Π΄ΠΎΠ΄Π΅ΠΊΠ° Π½Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅ услугата со ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΡˆΡ‚ΠΎ ја Π±Π°Ρ€Π°Π°Ρ‚. Podman ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΈ ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊΠΎΡ‚ SD_NOTIFY Π΄ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠ·ΠΈΡ€Π°Π½Π°Ρ‚Π° услуга, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ услугата Π³ΠΎ извСсти систСмот Π΄Π΅ΠΊΠ° Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ. И ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ, Docker, кој користи ΠΌΠΎΠ΄Π΅Π» ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр, Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ стори Ρ‚ΠΎΠ°.

Π’ΠΎ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈΡ‚Π΅

ΠŸΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° ја Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° podman generate systemd CONTAINERID, која ќС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° систСмска Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ Π½Π°Π²Π΅Π΄Π΅Π½. Ова Ρ‚Ρ€Π΅Π±Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ Π²ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠΈ Π·Π° root ΠΈ Π±Π΅Π· ΠΊΠΎΡ€Π΅Π½ Π·Π° Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ. Π’ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π΄ΡƒΡ€ΠΈ ΠΈ Π±Π°Ρ€Π°ΡšΠ΅ Π·Π° OCI-ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ‚Ρ€Π°Π΅ΡšΠ΅ systemd-nspawn.

Π—Π°ΠΊΠ»ΡƒΡ‡ΠΎΠΊ

БистСмското Ρ€Π°Π±ΠΎΡ‚Π΅ΡšΠ΅ Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π»ΠΈΠ²Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π°. И Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Podman, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ‚Ρ€Π°Π΅ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ ΡˆΡ‚ΠΎ Π½Π΅ Π΅ Π²ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ со systemd, Π½ΠΎ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ лСсСн Π·Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅.

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

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