Π˜Π·ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° срСди Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с LXD ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ

Π©Π΅ говоря Π·Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ срСди Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° моята Ρ€Π°Π±ΠΎΡ‚Π½Π° станция. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΡŠΡ‚ Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΠΎΠ΄ Π²ΡŠΠ·Π΄Π΅ΠΉΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° слСднитС Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ:

  • Π Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Π΅Π·ΠΈΡ†ΠΈ изискват Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ IDE ΠΈ Π²Π΅Ρ€ΠΈΠ³ΠΈ ΠΎΡ‚ инструмСнти;
  • Π Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ вСрсии Π½Π° инструмСнтални Π²Π΅Ρ€ΠΈΠ³ΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΡŠΡ‚ Π΅ Π΄Π° сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² LXD ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π½Π° Π»Π°ΠΏΡ‚ΠΎΠΏ ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π½Π° станция с Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ ΠΈΠ·Ρ…ΠΎΠ΄, прСнасочСн към хоста.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½Π° конфигурация Ubuntu 20.04.

Размисли Π·Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ са Π΄Π°Π΄Π΅Π½ΠΈ Π² края Π½Π° статията.

1. LXD инсталация

Π’ Ubuntu 20.04 LXD Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π·Π° инсталиранС ΠΊΠ°Ρ‚ΠΎ deb ΠΏΠ°ΠΊΠ΅Ρ‚, само Ρ‡Ρ€Π΅Π· snap:

$ snap install lxd

Π‘Π»Π΅Π΄ инсталиранСто трябва Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΡ‚Π΅ инициализация:

$ lxd init

ЕдинствСният ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€, ΠΊΠΎΠΉΡ‚ΠΎ промСням, Π΅ storage bakend - Използвам dir ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΉ-простият. Въй ΠΊΠ°Ρ‚ΠΎ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ снимки ΠΈ копия, прСдупрСТдСнията са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ докумСнтация НС ΠΌΠ΅ ΠΏΠ»Π°ΡˆΠ°Ρ‚:

По ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π±Π΅ΠΊΠ΅Π½Π΄ΡŠΡ‚ Π½Π° дирСкторията трябва Π΄Π° сС Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°Ρ‚ΠΎ послСдна опция.
Π’ΠΎΠΉ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° всички основни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° LXD, Π½ΠΎ Π΅ уТасно Π±Π°Π²Π΅Π½ ΠΈ Π½Π΅Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ
Π½Π΅Π·Π°Π±Π°Π²Π½ΠΈ копия ΠΈΠ»ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки ΠΈ Ρ‚Π°ΠΊΠ° трябва Π΄Π° ΠΊΠΎΠΏΠΈΡ€Π° цялото Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° СкзСмпляра всСки ΠΏΡŠΡ‚.

2. Настройка Π½Π° LXD ΠΏΡ€ΠΎΡ„ΠΈΠ»

ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈ Π² LXD β€” Ρ‚ΠΎΠ²Π° са Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈ към няколко ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π—Π° ΠΌΠΎΠΈΡ‚Π΅ Π½ΡƒΠΆΠ΄ΠΈ ΠΌΠΈ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½ СдинствСният ΠΏΡ€ΠΎΡ„ΠΈΠ», създадСн ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ default със слСднитС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • $ lxc profile device add default X0 disk source=/tmp/.X11-unix/X0 path=/tmp/.X11-unix/X0 β€” Ρ‚Π°ΠΊΠ° Ρ‡Π΅ прилоТСнията Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° взаимодСйстват с хост X11 ΡΡŠΡ€Π²ΡŠΡ€Π°;
  • $ lxc profile set default environment.DISPLAY :0 - Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° Π½Π° ΠΎΠΊΠΎΠ»Π½Π°Ρ‚Π° срСда DISPLAY Π΅ инсталиран ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ;
  • $ lxc profile set default raw.idmap "both 1000 1000" - Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎ ΡΡŠΠΏΠΎΡΡ‚Π°Π²ΡΠ½Π΅ Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ.

3. БъздаванС ΠΈ настройка Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€

БъздаванС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ въз основа Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ images:ubuntu/20.04:

$ lxc launch images:ubuntu/20.04 dev1

ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΌ изобраТСния ΠΎΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ https://images.linuxcontainers.org, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ°Ρ‚ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ инсталиран софтуСр. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ‚Π°Π·ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ… прСфикса images: към ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. Π‘ΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ въз основа Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° Ubuntu ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½: $ lxc launch ubuntu/20.04 dev1.

Π”ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ основната ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:

$ lxc exec dev1 -- bash

Π©Π΅ инсталирам Firefox ΠΈ VS Code (ΠΎΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ спорСд инструкциитС):

$ apt update
$ apt install curl gpg firefox

$ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
$ install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/
$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list

$ apt update
$ apt install code

Π©Π΅ Π²ΠΊΠ»ΡŽΡ‡Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π·Π° яснота.

poweroff

Бонус! Доста лСсно Π΅ Π΄Π° Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ GPU Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ прилоТСнията, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π² Π½Π΅Π³ΠΎ, Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½Π°Ρ‚Π° ΠΊΠ°Ρ€Ρ‚Π°. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° Π²ΠΈ трябва:

  • Π΄ΠΎΠ±Π°Π²ΠΈ устройство $ lxc config device add dev1 mygpu gpu;
  • инсталирайтС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° - ΡΡŠΡ‰ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ са инсталирани Π½Π° хоста.

4. ИзползванС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€

Ако ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΡŠΡ‚ всС ΠΎΡ‰Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ, трябва Π΄Π° Π³ΠΎ стартиратС:

lxc start dev1

ИзпълнСниС Π½Π° VS Code ΠΊΠ°Ρ‚ΠΎ Π½Π΅-root ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» Ubuntu:

lxc exec dev1 -- sudo --login --user ubuntu code

Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ Firefox:

lxc exec dev1 -- sudo --login --user ubuntu firefox

ΠŸΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅ Π½Π° прилоТСнията Ρ‰Π΅ сС ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚ Π½Π° хоста, Π½ΠΎ Ρ‚Π΅ Ρ‰Π΅ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π²ΡŠΡ‚Ρ€Π΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° - ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Ρ‡Ρ€Π΅Π· ssh.

НС ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌ Ρ€ΡŠΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½Π΅ Π²ΠΈΠΆΠ΄Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ смисъл Π² Ρ‚ΠΎΠ²Π° - ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°ΠΌ сС Π΄ΠΎ затварянС Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ прилоТСния.

5. Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΌ Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ хост ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ изисква инсталиранС Π½Π° инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ във вСрсии Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° систСмни ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΏΠΎ спСцифичСн Π½Π°Ρ‡ΠΈΠ½ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ. Всичко Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π΅ΠΎΡ‡Π°ΠΊΠ²Π°Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π΄Ρ€ΡƒΠ³ софтуСр, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Π΅ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ Π² цялата ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма. НапримСр ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² конфигурацията Π½Π° OpenSSL ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ спиранС Π½Π° стартиранСто Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ.

ΠžΠΏΠΈΡ‚Π°Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ инструмСнти Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° срСди Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°:

  • Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ машини (KVM, VirtualBox ΠΈ Ρ‚.Π½.) са Π½Π°ΠΉ-очСвидният Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½ΠΎ Ρ‚Π΅ консумират Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ рСсурси, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ няма Π΄Ρ€ΡƒΠ³ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ΄ Windows (Π°ΠΊΠΎ Ρ…ΠΎΡΡ‚ΡŠΡ‚ Π΅ Linux);
  • инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΎΠ±Π»Π°ΠΊ, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π° машина (Cloud9 Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина, Eclipse Che ΠΈ Ρ‚.Π½.) - Ρ‚Π΅ Π½Π΅ са Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ Π·Π° Ρ‚ΠΎΠ·ΠΈ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°, изискват Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° конфигурация ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°, Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ - Π² ΠΎΠ±Π»Π°ΠΊΠ°;
  • Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ са ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π·Π° Π½Π΅Ρ‰ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ; спорСд ΠΌΠ΅Π½ Ρ‚Π΅ Π½Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΈ Π·Π° Π±ΡŠΡ€Π·ΠΎ създаванС Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° софтуСр, ΠΊΠΎΠΉΡ‚ΠΎ всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ.

Π˜Π·Π±Ρ€Π°Π½ΠΈΡΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠ΅ впСчатлява със своята простота ΠΈ ниска Π±Π°Ρ€ΠΈΠ΅Ρ€Π° Π·Π° Π²Π»ΠΈΠ·Π°Π½Π΅. Π’ самитС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ, спСцифични Π·Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: инсталирайтС ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΉΡ‚Π΅ всичко Ρ€ΡŠΡ‡Π½ΠΎ ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ автоматизация (Puppet, Ansible ΠΈ Ρ‚.Π½.), Π΄ΠΎΡ€ΠΈ внСдряванС Π”ΠΎΠΊΠ΅Ρ€ Π±Π°Π·ΠΈΡ€Π°Π½Π° инфраструктура. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ LXD ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π·Π° стартиранС Π½Π° спСцифичСн софтуСр, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ»ΠΈ изисква инсталиранС Π½Π° голям Π±Ρ€ΠΎΠΉ зависимости, ΠΈΠ»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° вСрсия Π½Π° ОБ - Π² Ρ‚ΠΎΠ·ΠΈ случай ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΆΠ΅Π»Π°Π½Π°Ρ‚Π° вСрсия Π½Π° ОБ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ $ lxc launch images:ubuntu/16.04 dev16.

Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Π΅ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° изолацията, контСйнСризацията ΠΈΠΌΠ° ΠΏΠΎ-голяма ΠΏΠΎΠ²ΡŠΡ€Ρ…Π½ΠΎΡΡ‚ Π·Π° Π°Ρ‚Π°ΠΊΠ° Π² сравнСниС с виртуализацията - Ρ…ΠΎΡΡ‚ΡŠΡ‚ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΡŠΡ‚ сподСлят Π΅Π΄Π½ΠΎ ядро, уязвимост, Π² която ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π½Π° Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр Π΄Π° избяга ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠšΠΎΠ³Π°Ρ‚ΠΎ СкспСримСнтиратС със ΡΡŠΠΌΠ½ΠΈΡ‚Π΅Π»Π΅Π½ софтуСр, ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΠΎ-подходящи ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° изолация.

ПолСзни Π²Ρ€ΡŠΠ·ΠΊΠΈ

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€