Docker ááá¯á¡ááºááŒá®áž VM ááá¯ááºáá°ážááá¯áá¬ááᯠáááºááá¯áá¬ážáááºááá¯ááºááá²á ááẠáá®ážááŒá¬ážááœá²áá¯ááºááá¯áá±á¬ á¡áá¬ááᯠáá¯á¶ážááŒááºááẠááá¯á¡ááºáááºá á¡á¬ááá¶áá¬ážáá±á¬ á¡áááºážá¡ááŒá áºáá»á¬ážááŸáá·áº virtual hardware áá«áá±á¬ á áá áºáá áºáá¯ááᯠááœá²áá¯ááºááá¯áá«áá ááœá±ážáá»ááºááŸá¯ááẠVM áá±á«áºááœáẠá¡áá»á¯á¶ážáááºáááºááŒá áºáááºá áá®ážááŒá¬ážá áá Ạáá¯ááºáááºážá ááºáá»á¬ážá¡ááŒá Ạáááºáááºáá±áá±á¬ á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠááœá²áá¯ááºááẠááá¯á¡ááºáá«á Docker ááá¯á¡ááºáááºááŒá áºáááºá
áá«ááᯠDocker containers áá²á· VM ááá¯á·áá²á· ááœá¬ááŒá¬ážáá»ááºááá¬áá²á
á
ááºá¡áᯠ(VM) virtual á
ááºáá
á¹á
ááºážáá»á¬ážá¡á¬ážáá¯á¶ážááŸáá·áº virtual hard disk áá«ááŸááá±á¬ virtual computer áá
áºáá¯ááŒá
áºááŒá®ážá virtual device driversá memory management ááŸáá·áº á¡ááŒá¬ážáá±á¬ components áá»á¬ážááŸáá·áºá¡áá° áá®ážááŒá¬áž OS á¡áá
áºáá
áºáá¯ááᯠááá·áºááœááºážáá¬ážáááºá ááá¯ááá¯áááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠááá·áºá¡á¬áž ááœááºáá»á°áá¬áá
áºáá¯á¶ážáááºážááœáẠvirtual computer á¡áá»á¬ážá¡ááŒá¬ážááᯠrun ááá¯ááºá
á±ááá·áº áá¯ááºááá¯ááºážááá¯ááºáᬠhardware á abstraction áá
áºáá¯ááᯠáááŸááá¬ážáá«áááºá
ááá·áºááœááºážáá¬ážáá±á¬ VM ááẠááá°áá®áá±á¬áááºážáááºážáá»á¬ážááŒáá·áº disk space ááᯠááá°ááá¯ááºáááºá
- áá¯á¶áá± hard disk space ááẠvirtual hard disk ááá¯ááá¯ááá¯ááŒááºáááºá áœá¬áááºáá±á¬ááºááá¯ááºá á±ááŒá®áž ááá¯ááºááœá²á¡ááºááŒááºážááᯠááŸá±á¬ááºááŸá¬ážááá¯ááºáááºá
- dynamic memory ááœá²áá±ááŸá¯á á¡ááá¯á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠááá·áºááœááºážááá·áºá¡áá«á áááºážá¡ááœáẠááœá²áá±áá±ážááá·áº á¡ááŒáá·áºáá¯á¶ážááá¬áááá¯á· ááá±á¬ááºááŸáááá»ááºáž áááºážááá¯á·á¡ááœáẠáááºááá¯áá®ááᯠááá¯ááºááá áºááŒáá·áº ááœá²áá±áá±ážáááºááŒá áºáááºá
áá¬áá¬áá±á«áºááœáẠvirtual machines áá»á¬ážáá±áá±á áááºážááá¯á·ááẠáá±áá¬ááá¯áá°áá±áá±á ááá·áºá¡ááá®áá±ážááŸááºážá¡ááœáẠááá¯á¡ááºáá±á¬ áááºáááºážáá»ááºá á¡áááºáááŒááºáá¶á·ááá¯ážááŸá¯áááºáž ááá¯á¡ááºáá«áááºá
Docker ááœááºááááºáá¬áá»á¬ážááᯠá¡ááŒá±áá¶á á¡ááá®áá±ážááŸááºážáá»á¬áž áááºáá±á¬ááºáááºá¡ááœáẠáá±á¬á·ááºáá²áá áºáá¯ááŒá áºáááºá ááœááºááááºáá¬áá»á¬ážááŸáá·áº virtual machines áá»á¬ážááẠá¡áá¬ážáá°á¡áá»áá¯ážáá¶á á¬ážááœáá·áºáá»á¬áž ááŸááá±á¬áºáááºáž á¡áá¯ááºáá¯ááºáá¯á¶áá»ááºáž ááá°áá«á ááœááºááááºáá¬áá»á¬ážááẠáá±áá¬ááá¯áááºážáá±á¬ááŒá±á¬áá·áº ááŒá áºáááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº VM ááẠhost á áá áºá áá»áŸáá±áá¬ážáá±á¬áááºážááŒá áºáá»á¬ážááᯠááá¯ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒá±á¬áá·áºááŒá áºáááºá VM ááŸáá·áºááá°áá²á áá¬á·ááºáá²ááá¯ááºáá² OS á¡ááá·áºááœáẠvirtualization ááá¯áá±ážáááºá á€áááºážáááºážááẠááŸááºáá¬ááºááŒá±áá¬ááᯠáá»á±á¬á·áááºážá á±ááŒááºážá ááá¯ááá¯ááŒááºáááºá áœá¬ ááŒáá·áºáá»ááºááŒááºážááŸáá·áº áá»á²á·ááœááºááŒááºážááá¯á·ááᯠááá¯ááá¯ááœááºáá°á á±áááºá
ááœááºááááºáá¬ááẠhost á
áá
áºááá¯á· ááá¯á¡ááºáá±á¬ á¡ááºáá¬áá±á·á
áºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážááŒááºážááŒáá·áº á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠáá¯ááºááá¯ážáááºá¡ááœáẠááá¯ááá¯áááá±á¬ááºáá±á¬ ááá¹ááá¬ážáá
áºáᯠáá¶á·ááá¯ážáá±ážáá«áááºá á€á¡ááºá¹áá«áááºááẠááœááºááááºáá¬áá
áºáá¯á
á®á¡á¬áž áááºážáááá¯ááºááá¯ááºááŸááºáá¬ááºá§áááá¬áá»á¬áž (áááºážáááá¯ááºááá¯áẠvirtual ááááºá
á¬áá±áá¬) áá«ááŸáááá·áº ááœááºááááºáá¬áá
áºáá¯á
á®ááᯠáááºá OS á áá®ážááŒá¬ážáá¯ááºáááºážá
ááºáá
áºáá¯á¡ááŒá
Ạáá¯ááºáá±á¬ááºááá·áº ááœááºááááºáá¬áá»á¬ážááᯠáá»áŸáá±ááœáá·áºááŒá¯áááºá ááœááºááááºáá¬áá
áºáá¯á
á®á virtual address space ááẠáááºážáááá¯ááºááá¯ááºááŒá
áºáá±á¬ááŒá±á¬áá·áº ááá°áá®áá±á¬ memory area ááá¯ááºáá¬áá±áá¬ááᯠááŒá±á¬ááºážáá²ááááá«á
Docker á¡ááœáẠáá°áááºáž OS ááẠLinux ááŒá
áºááẠ(Docker ááᯠWindows ááŸáá·áº MacOS ááá¯á·ááœááºáááºáž áá¯á¶ážááá¯ááºáááº)á áááºážááẠááœá²ááœáẠkernel áá
áºáá¯ááᯠá
á¯á
ááºážááẠáááºážá á¡ááá á¡á¬ážáá¬áá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá¬ážáááºá Windows áá±á«áºááŸá Docker ááœááºááááºáá¬áá»á¬ážááᯠLinux virtual machine áá
áºáá¯á¡ááœááºážááœáẠááŒá¯áá¯ááºáááºááŒá
áºáá±á¬ááŒá±á¬áá·áº ááŒá
áºáááºá containers áá»á¬ážááẠhost á
áá
áºá OS ááá¯áá»áŸáá±ááŒááŒá®áž áááºážááá¯á·á¡ááœáẠá¡ááá OS ááŸá¬ Linux ááŒá
áºáááºá
ááœááºááááºáᬠ- áááºááá¯á¡áá¯ááºáá¯ááºáá²á
ááá·áºáá±á¬á¡áᬠáá¯ááºááŸáá·áº ááŸá®ááá¯ááŸá¯ááá¯á·ááᯠáá±á«ááºážá ááºáá¬ážááá·áº á¡ááá®áá±ážááŸááºážá¡ááá·áºááœáẠabstraction áá áºáá¯ááŒá áºáááºá ááœááºááááºáá¬áá»á¬ážááᯠáá¯á¶áá»á¬ážá០á¡ááŒá²áááºáá®ážáá¬ážááŒá®ážá áá±ážááá¯ááºáá±á¬ á¡áá±á«áºáá¯á¶ážá¡ááœáŸá¬ááᯠáá±á«ááºážááá·áºáᬠá¡áá»áá¯ážáá»áá¯ážáá±á¬ ááá·áºáááºáá±á¬ááºáá»á¬ážááᯠá¡á ááŒá¯áá«áááºá ááœááºááááºáá¬áá áºáá¯ááœáẠáááºážáááá¯ááºááá¯áẠá á¬áá±ážá¡ááœáŸá¬áá«ááŸáááŒá®áž ááŒá±á¬ááºážáá²ááŸá¯á¡á¬ážáá¯á¶ážááᯠááá¯á¡ááœáŸá¬ááœáẠááááºážáááºážáá¬ážáá±á¬ááŒá±á¬áá·áºá ááœááºááááºáá¬á¡áá»á¬ážá¡ááŒá¬ážááẠáá°áá®áá±á¬áá¬á áá¬áá¯á¶ááá¯á· áááºáá±á¬ááºááœáá·áºááᯠáá»áŸáá±ááá¯ááºáá«áááºá
áááºáááŒá±ááŸááºážáá»ááºá docker-compose.yml ááœááºáá«ááŸááá±á¬ docker-compose ááá±á¬áá»ááºááŸá ááá¯ááºáá áºáá¯á á®ááᯠááœááºááááºáá¬áá áºáá¯á á®á០ááŒááºáááºáááºááŸááºááá¯ááºáááºá ááá¯áá±áá¬ááœáẠáááºááẠááœááºááááºáá¬á¡áááºá ááááºáááºážáá»á¬ážá ááœá²ááŒá¬ážáááºááŸááºááŸá¯áá»á¬ážá á¡áááºážá¡ááŒá áºááá·áºáááºáá»ááºáá»á¬ážá á¡ááŒá¬ážááœááºááááºáá¬áá»á¬ážááŒá¬ážááœáẠááŸá®ááá¯ááŸá¯á ááá·áº á¡áá»áá¯ážáá»áá¯ážáá±á¬ áá±á¬ááºáá»á¬ážááᯠáááºááŸááºááá¯ááºáááºá áááºáááºáá»á¬ážááœáẠááœááºááááºáá¬á¡áááºááᯠáááºááááºááŸááºáá«á Docker ááẠá¡ááŒáááºááá¯ááºáž ááœááºááááºáá¬á¡áá áºáá áºáá¯ááᯠáááºáá®ážááŒá®áž áááºážááᯠáá»áááºážá¡áááºáá±ážáááºááŒá áºáááºá
ááœááºááááºáá¬ááᯠáá¯á¶áá áºáá¯á០á áááºáá±á¬á¡áá«á Docker ááẠá¡á±á¬ááºáá±á¬áºááŒáá« á¡ááœáŸá¬áá»á¬ážá á¡áá±á«áºáá¯á¶ážááœáẠread/write filesystem ááᯠáááºáááºáááºá á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·á Docker container ááᯠrun á á±ááá¯áá±á¬ áá¯ááºáááºážá ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá¯ááºáá±á¬ááºáááºááŒá áºáá«áááºá
Docker ááẠááœááºááááºáá¬áá
áºáá¯ááᯠááááá¯á¶ážá
áááºáá±á¬á¡áá«á áááŠážáááº/áá±ážá¡ááœáŸá¬ááẠááá¬ááŒá
áºáá±áááºá á¡ááŒá±á¬ááºážá¡áá²áá»á¬áž ááŒá
áºáá±á«áºáá¬áá±á¬á¡áá« áááºážááá¯á·ááᯠááá¯á¡ááœáŸá¬ááá¯á· á¡áá¯á¶ážáá»áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠááá¯ááºáá
áºáá¯ááᯠááœááºážáá¶ááá¯áá«áá ááá¯ááá¯ááºááᯠá¡á±á¬ááºáá±á¬áºááŒáá« áááºááŸá¯áááºáᬠá¡ááœáŸá¬á០read-write á¡ááœáŸá¬ááá¯á· áá°ážáá°áááºááŒá
áºáááºá
ááá¯ááºááááºáááºáá®ážááá·áºáá¬ážááŸááºážááẠáááºáááºáááºááŸááá±áááºááŒá
áºááŒá®ážá ááá¯á·áá±á¬áº ááá¯á¡áá« áá±á¬áºáá®á¡á±á¬ááºááœáẠááŸááºáá¬ážáááºá ááœááºááááºáá¬á ááá
ááºáááºážááᯠáááœá²ááŒá¬ážáá² áá±áá¬ááááºážáááºážáááºá¡ááœáẠá¡ááœá²áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá ááœááºááááºáá¬ááᯠáááºáá®ážááá·áºá¡áá« á¡ááœá²áá»á¬ážááᯠá¡á
ááŒá¯áá«áááºá
áá¯á¶ááẠááœááºááááºáá¬ááŸáá·áº áááºááá¯á·áááºá ááºáá±ááááºážá
áá¯á¶áááẠ- ááœááºááááºáá¬áá áºáá¯á á®á¡ááœáẠá¡áááááŒááºá ááºá áá¯ááºáá¯á¶á¡á¬áž ááá±á¬áá»ááºááœáẠááá·áºááœááºážáá¬ážááá·áº Dockerfile áá áºáá¯á០áááºáá®ážáá¬ážááŒá®áž áá áºáá¯ááŸáá·áºáá áºáá¯á¡áá±á«áºááŸá á¡ááœáŸá¬áá áºáá¯á á®ááœáẠá¡ááœáŸá¬áá áºáá¯á á®á á®áá¬ážáᬠáááºááŸá¯áááºá¡ááœááºáᬠáááŸáááá¯ááºáá±á¬ ááá¯ááºá áá áºáá»á¬áž (á¡ááœáŸá¬áá»á¬áž) áá áºáá¯ááŒá áºáááºá á¡áá»á¬ážáá¯á¶ážá¡ááœáŸá¬á¡áá±á¡ááœááºááŸá¬ 127 ááŒá áºáááºá
áá¯á¶áá
áºáá¯á¶áá»ááºážá
á®á ááŸáá¯á¶ážáá¬ážááœáẠFROM command ááŸáááºááŸááºáá¬ážááá·áº á¡ááŒá±áá¶áá¯á¶ááŒá
áºááẠ- Dockerfile áá¯á¶áá
áºáá¯áááºáá®ážáá±á¬á¡áá«ááœáẠentry point ááŒá
áºáááºá á¡ááœáŸá¬áá
áºáá¯á
á®ááẠáááºááŸá¯áááºáá®ážááá·áºá¡ááœáŸá¬ááŒá
áºááŒá®áž Dockerfile ááœááºáá±ážáá¬ážáá¬ážáá±á¬ ááá¯ááºá
áá
áºá¡á¬áž ááŒá¯ááŒááºááœááºážáá¶ááá·áº command áá
áºáá¯áááºážááŒáá·áºááá¯ááºá
á¬ážááŒá¯áááºá
á€á¡ááœáŸá¬áá»á¬ážááᯠáá¯á¶áá
áºáá¯á¶áááºážá¡ááŒá
Ạáá±á«ááºážá
ááºáááºá¡ááœáẠDocker ááẠAdvanced multi-layered Union ááá¯ááºá
áá
Ạ(AuFS ááᯠUnionFS áááááºááœááºáááºáá±á¬ááºáá¬ážáááº) ááá¯á¡áá¯á¶ážááŒá¯ááŒá®áž ááá°áá®áá±á¬ááá¯ááºá¡ááœáŸá¬áá»á¬ážá០ááá°áá®áá±á¬ááá¯ááºáá»á¬ážááŸáá·áºáááºážááœáŸááºáá»ááºáá»á¬ážááᯠááœáá·áºáááºážááŒááºáá¬á
áœá¬áááºáá±á
á±ááŒá®áž áááºá
ááºááá¯ááºá
áá
áºááá¯áááºáá®ážáá±ážáá«áááºá
Layers áá»á¬ážááœáẠruntime ááŸáá·áº build time ááœáẠlayer áá áºáá¯á á®á áááºá ááºá¡áá»ááºá¡áááºáá»á¬ážááᯠááááºážáááºážááá¯ááºá á±ááá·áº áááºáá¬áá±áá¬áá»á¬áž áá«ááŸááá«áááºá á¡ááœáŸá¬áá áºáá¯á á®ááœáẠááá·áºááºáá áºáá¯á á®áá«ááŸááá±á¬ á¡ááœáŸá¬áá áºáá¯á á®ááœáẠááá·áºááºáááŸááá«áá áááºážááẠáá¯á¶ááŸá ááááºáááºážá¡ááœáŸá¬ááŒá áºáááºá
Dockerfile ááœáẠá¡á±á¬ááºáá«áá²á·ááá¯á·áá±á¬ command áá»á¬áž áá«áááºááá¯ááºáááºá
- FROM - áá¯á¶áááœá²á·á ááºážááŸá¯á¡ááœáẠentry ááá¯á¡ááŸááº;
- MAINTAINER - áá¯á¶áááá¯ááºááŸááºá¡áááº;
- RUN - áá¯ááºáá¯á¶á ááºážáá±ážááœá²á¡ááœááºáž á¡áááá·áºáá±ážááŒááºáž
- ADD - host ááá¯ááºááᯠáá¯á¶á¡áá áºáá áºáá¯ááá¯á· áá°ážáá°ááŒááºážá URL ááá¯ááºááᯠáááºááŸááºáá«áá Docker ááẠáááºážá¡á¬áž áááºááŸááºáá¬ážáá±á¬ áááºážááœáŸááºááœáẠáá±á«ááºážáá¯ááºáá¯ááºáááºááŒá áºáááºá
- ENV - áááºáááºážáá»áẠááŒá±á¬ááºážáá²ááá¯ááºáá±á¬á
- CMD - áá¯á¶áá±á«áºá¡ááŒá±áá¶á ááœááºááááºáá¬á¡áá áºáá áºáᯠáááºáá®ážááŒááºážááᯠá áááºááẠá
- ENTRYPOINT - ááœááºááááºáá¬ááᯠá áááºáá±á¬á¡áá« á¡áááá·áºááᯠáá¯ááºáá±á¬ááºáááºá
- WORKDIR ááẠCMD á¡áááá·áºááᯠáá¯ááºáá±á¬ááºáááºá¡ááœáẠá¡áá¯ááºáááºážááœáŸááºááŒá áºáááºá
- USER - áá¯á¶á០áááºáá®ážáá¬ážáá±á¬ ááœááºááááºáá¬á¡ááœáẠUID ááᯠáááºááŸááºáá±ážááẠá
- ááá¬á - áááºáá¶áá°áááºážááœáŸááºááᯠááœááºááááºáá¬ááœáẠáááºáááºáááºá
- EXPOSE ááẠááœááºááááºáá¬ááœáẠáá¬ážáá±á¬ááºááá·áº ááááºáááºážá¡á á¯á¡áá±ážáá áºáá¯ááŒá áºáááºá
UnionFS áááºááá¯á¡áá¯ááºáá¯ááºááá²á
UnionFS â Linux ááŸáá·áº FreeBSD á¡ááœáẠáááºáá±á¬ááºááŸá¯ stack ááá¯ááºá áá Ạ(FS)á ဠFS ááẠáá±á¬áºáá®-áá±á«áº-áá±ážááŒááºáž (Copy-On-Write, COW) ááá¹ááá¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á«áºáááºá UnionFS á á¡áá¯ááºáá¯ááºáá±á¬ááºááŸá¯áá°áá áºááẠá¡ááœáŸá¬áá áºáá¯ááŒá áºááŒá®áž á¡ááœáŸá¬áá áºáá¯á á®ááᯠroot ááá¯ááºááá¯ááºá០áááºážááœáŸááºá¡áááºáááºážá¡ááá·áºááŒáá·áº áá®ážááŒá¬ážááŒáá·áºá á¯á¶áá±á¬ááá¯ááºá áá áºá¡ááŒá Ạááá·áºááœááºážá ááºážá á¬ážááá·áºáááºá UnionFS ááẠá¡ááŒá¬ážááá¯ááºá áá áºáá»á¬ážá¡ááœáẠunion mount áá áºáá¯ááᯠáááºáá®ážááŒá®áž ááá°áá®áá±á¬ ááá¯ááºá áá áºáá»á¬áž (á¡ááá¯ááºážá¡áááºáá»á¬ážáá¯áá±á«áºáááº) á០ááá¯ááºáá»á¬ážááŸáá·áº áááºážááœáŸááºáá»á¬ážááᯠááœáá·áºáááºážááŒááºáá¬á áœá¬ áá±á«ááºážá ááºážááá¯ááºá á±ááẠááœáá·áºááŒá¯áá±ážáá«áááºá
áá°áá®áá±á¬áááºážááŒá±á¬ááºážáá»á¬ážáá«ááŸááá±á¬ áááºážááœáŸááºáá»á¬ážá á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠááááºááá¯ááºá áá áºá áá±á«ááºážá ááºáááºážááœáŸááºáá áºáᯠ(áá°áá®áá±á¬á¡áááºáá±áá¬á) ááœáẠá¡áá°áááœááŒááááºááŒá áºáááºá
UnionFS ááẠá¡á±á¬ááºáá«áá°áá»á¬ážááᯠá¡ááŒá±áá¶á á¡ááœáŸá¬áá»á¬ážááᯠáá±á«ááºážá ááºáááº-
- á¡ááœáŸá¬áá áºáá¯ááẠááááºáááºážá¡ááœáŸá¬ááŒá áºáá¬ááŒá®áž áá¯áááááŸáá·áº áá±á¬ááºáááºááœá²á¡ááœáŸá¬ááẠá¡á±á¬ááºááŒá±á¡ááá·áºá¡ááœáŸá¬ááŒá áºáá¬áááºá
- á¡ááœáŸá¬á¡áá¬ááá¹áá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá°á០âá¡áá±á«áºááŸá¡á±á¬ááºááŒá±â ááá¯á· áááºáá±á¬ááºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬á áá±á¬ááºážááá¯áá¬ážááá·áºá¡áá¬ááá¹áá¯ááẠ"á¡áá±á«áºááá¯ááºáž" á¡ááœáŸá¬ááœááºááŸááá±áá«áá "á¡á±á¬ááº" á¡ááœáŸá¬ááœáẠáá°áá®áá±á¬á¡áááºááŸááá±á¬ á¡áá¬ááá¹áá¯áá áºáá¯ááŸááá±áááºááŒá áºá á± áááºážááᯠááŒááºáá±ážáááºááŒá áºáááºá ááá¯á·ááá¯ááºáá«áá "á¡á±á¬ááºááŒá±" á¡ááœáŸá¬á¡áá¬ááá¹áá¯ááᯠááŒááºáá±ážáááºá áá±á¬ááºážááá¯áá¬ážááá·áºá¡áá¬ááá¹áá¯ááẠááá¯áá±áá¬ááœááºáááŸááá«áá á¡ááŸá¬ážá¡ááœááºáž "ááá¯áá²á·ááá¯á·áá±á¬ááá¯áẠááá¯á·ááá¯áẠáááºážááœáŸááºáá»ááºáááŸááá«" ááᯠááŒááºáá±ážáá«áááºá
- á¡áá¯ááºáá¯ááºáá±á¬á¡ááœáŸá¬ááẠ"ááááºáááºáž" ááŒá áºáááºá ááá¯ááá¯áááºááŸá¬á áá±áá¬ááá¯ááŒá±á¬ááºážáá²ááẠá¡áá¯á¶ážááŒá¯áá°áá¯ááºáá±á¬ááºááŸá¯á¡á¬ážáá¯á¶ážááẠá¡á±á¬ááºá¡ááá·áºá¡ááœáŸá¬áá»á¬ážá á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠáááááá¯ááºá á±áá² ááááºáááºážá¡ááœáŸá¬áá±á«áºááœááºáᬠáááºáááºáá±áá«áááºá
Docker ááẠá¡ááá®áá±ážááŸááºážá¡áá¯ááºááœáẠááœááºááááºáá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠá¡áá¯á¶ážá¡áá»á¬ážáá¯á¶ážáááºážááá¬ááŒá áºáááºá áááºážááẠLinux kernel ááŸáá±ážáá±á¬ááºáá±á¬ cgroups ááŸáá·áº namespaces áá»á¬ážááá¯áááºáá±á¬ááºááŒá®áž á€á§áááá¬ááŸá á á¶ááŒá áºáá¬áááºá
Docker ááẠáá®ážááŒá¬áž OS áá¯ááºáááºážá ááºáá»á¬ážá¡ááŒá Ạáá¯ááºáá±á¬ááºáá±ááá·áº ááœááºááááºáá¬áá»á¬ážá¡á¬ážáá¯á¶ážááŒá¬ážááœáẠOS kernel ááᯠáá»áŸáá±ááŒááºážááŒáá·áº á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠáá»ááºááŒááºá áœá¬á¡áá¯á¶ážáá»ááá¯ááºááŒá®áž ááá¯ááºá áá áºá á¡áá±á¬ááºážáá¯á¶ážá¡áá¯á¶ážááŒá¯ááŸá¯ááᯠDocker á ááœáá·áºááŒá¯áá±ážáá«áááºá
source: www.habr.com