рдореИрдВ рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЗрдВрджреНрд░ рдкрд░ рд╕реНрдерд╛рдиреАрдп рдкреГрдердХ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░рдХреЛрдВ рдХреЗ рдкреНрд░рднрд╛рд╡ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
- рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ IDE рдФрд░ рдЯреВрд▓рдЪрд┐рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ;
- рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреВрд▓рдЪрд┐рди рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрд▓рдПрдХреНрд╕рдбреА рдХреЗ рдЕрдВрджрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬреЛ рд▓реИрдкрдЯреЙрдк рдпрд╛ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдкрд░ рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдЪрд▓ рд░рд╣реЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╣реЛрд╕реНрдЯ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
Ubuntu 20.04 рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди ред
рд╡рд┐рдХрд▓реНрдк рдФрд░ рдХрд╛рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рджрд┐рдП рдЧрдП рд╣реИрдВред
1. LXD рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдкрд░ рдЙрдмрдВрдЯреВ 20.04, LXD рдХреЗрд╡рд▓ рддрд╕реНрд╡реАрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдПрдХ рджреЗрдм рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдм рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ:
$ snap install lxd
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
$ lxd init
рдПрдХрдорд╛рддреНрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛ рдореИрдВ рдмрджрд▓рддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ storage bakend
рдореИрдВ dir
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ ред рдЪреВрдВрдХрд┐ рдореИрдВ рд╕реНрдиреИрдкрд╢реЙрдЯреНрд╕ рдФрд░ рдкреНрд░рддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдореБрдЭреЗ рдбрд░рд╛рддреА рдирд╣реАрдВ рд╣реИ:
рдЗрд╕реА рддрд░рд╣, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмреИрдХрдПрдВрдб рдХреЛ рдЕрдВрддрд┐рдо рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рд╕рднреА рдореБрдЦреНрдп LXD рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдзреАрдореА рдФрд░ рдЕрдХреНрд╖рдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣
рддрддреНрдХрд╛рд▓ рдкреНрд░рддрд┐рдпрд╛рдВ рдпрд╛ рд╕реНрдиреИрдкрд╢реЙрдЯ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рд░ рдмрд╛рд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рднрдВрдбрд╛рд░рдг рдХреА рд╕рдВрдкреВрд░реНрдгрддрд╛ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
2. рдПрд▓рдПрдХреНрд╕рдбреА рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╕реЗрдЯрдЕрдк
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 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 ..), Docker. LXD , тАФ $ lxc launch images:ubuntu/16.04 dev16
.
, тАФ , . .