рдХрдмреВрддрд░ рд╕реЗ рдмреИрд░ рд░рдЦрдирд╛

рдореБрдЭреЗ рдХрдмреВрд▓ рдХрд░рдирд╛ рд╣реИред рдореБрдЭреЗ рдбреЙрдХрдЯрд░ рд╕реЗ рдирдлрд░рдд рд╣реИред рдореЗрд░реА рд╕рд╛рд░реА рдЖрддреНрдорд╛ рдХреЗ рд╕рд╛рдеред рдпрд╣ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ 10 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рджреЗрдЦрд╛ рд╣реИред


рдПрдХ рдУрд░, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╣реА рдирд╛рдо рдХреА рдХрдВрдкрдиреА рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддрд╛ рд╣реВрдВред рдбреЙрдХрд░ рдЗрдВрдХред рд╕реЗ рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рдХрдВрдЯреЗрдирд░реАрдХрд░рдгред рдЕрдм рдХреЗрд╡рд▓ рдЖрд▓рд╕реА рдХреЛ рд╣реА рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░реА рдУрд░, рдЙрдиреНрд╣реЛрдВрдиреЗ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдбреЙрдХрд░ "рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛" (рдЪреЗрд░реЛрдЯ рд╕реЗ рдпрд╛рдж рд░рдЦрдирд╛, рдЬреЗрд▓ рдФрд░ рдЬрд╝реЛрди, рдФрд░ рдЕрдВрдд рдореЗрдВ рдирд╛рдорд╕реНрдерд╛рди рдФрд░ cgroups) рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП 30 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрд╖реЛрдВ рддрдХ рдХреБрдЫ рднреА рдирдпрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред


рдХреВрд▓ рдЬреЛ рдбреЙрдХрдЯрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдИ рдмрд╛рд░ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЧреБрдгрд╡рддреНрддрд╛ рдХреА рд╣рд╛рдирд┐ рдХреЗ рдмрд┐рдирд╛ рднреАред рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдбреЙрдХрдЯрд░ рдпрд╣рд╛рдВ рд╣реИ, рдЖрдк рдЗрд╕рд╕реЗ рджреВрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рд▓реЗрдХрд┐рди рд╡реНрд╣реЗрд▓ рд▓реЛрдЧреЛ рд╡рд╛рд▓рд╛ рдпрд╣ рдЙрддреНрдкрд╛рдж рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд┐рд╡рд┐рдз рднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдХреНрдпреЛрдВ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ? рдиреАрдЪреЗ рдореИрдВ рдЙрди рдХреНрд╖рдгреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдВрдЧрд╛ рдЬрд┐рдирд╕реЗ рд╡реЗ рдмрдо рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдкрд╛рдардХ рдЕрд╕рд╣рдордд рд╣реЛрдЧрд╛ рдпрд╛, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХреБрдЫ рдЪреАрдЬреЗрдВ рдвреВрдВрдвреЗрдЧрд╛ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдерд╛ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдорд┐рд▓реЗрдЧрд╛ред


рдбрд┐рд╕реНрдХреНрд▓реЗрдорд░: рдиреАрдЪреЗ рд▓рд┐рдЦреА рд╣рд░ рдмрд╛рдд рд▓реЗрдЦрдХ рдХреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп рд╣реИ рдФрд░ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ рдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИред рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рд╕рдЦреНрддреА рд╕реЗ рдЙрддреНрддреЗрдЬрдХ рд╣реИ рдФрд░ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдХрд┐рд╕реА рдХреЛ рдЕрдкрдорд╛рдирд┐рдд рдпрд╛ рдЕрдкрдорд╛рдирд┐рдд рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдирд╛ рдФрд░ рдЧрд╣рд░рд╛рдИ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдХрд░рдирд╛ рд╣реИ (рдЧ)ред


docker рдФрд░ рдлрд╝рд╛рдпрд░рд╡реЙрд▓


рдмреНрд░рд┐рдЬ рдХрд┐рдП рдЧрдП рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рддреЗ рд╕рдордп, docker рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрдкрдиреЗ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдо рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рднрд╛рд╡ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рддрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдирд┐рдпрдореЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ), рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдХреЗ рдмрд╛рдж, docker рдХрдВрдЯреЗрдирд░ рдЯреВрдЯ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ docker рдбреЗрдореЙрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдИрдкреАрдЯреИрдмрд▓реНрд╕-рд╕реЗрд╡ / рд░рд┐рд╕реНрдЯреЛрд░ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ рдореЗрдВ рдЕрд░реНрде рдЦреЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡реЗ рдирд┐рдпрдореЛрдВ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдирд╣реАрдВ рдЬрд┐рдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЖрдкрдХреЛ рдЙрдирдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдПрдХ рдФрд░ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рдо рд╣реИ рдбреЙрдХрдЯрд░ рдФрд░ рдХреБрдЫ рднреА рдЬреЛ рдХрд┐ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ - рдПрдХ рд╡реАрдкреАрдПрди рдХреНрд▓рд╛рдЗрдВрдЯ / рд╕рд░реНрд╡рд░ рдпрд╛ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рд╣реИ рдЬреЛ рд╕рддрд░реНрдХрддрд╛ рд╕реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдирд┐рдпрдо рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╣реИред


рд╣рд╛рд▓ рддрдХ рддрдХ, рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдВрдЯреЗрдирд░ рддрдХ рдордЬрд╝рдмреВрддреА рд╕реЗ рдФрд░ рдмрд╛рд░-рдмрд╛рд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдПрдХ рдЕрд▓рдЧ рдбреЙрдХрдЯрд░-рдпреВрдПрд╕рдИрдЖрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЬреЛрдбрд╝рд╛, рд▓реЗрдХрд┐рди рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИред


: , , тАФ . , INPUT , NAT ( CentOS docker run ... -p XX:YY)


, , , тАФ docker- , , . , , .. docker'.


docker


docker- docker-bridge docker0, , - . (!) DNS . ( docker network create docker-compose). . 172.16.0.0/12. , , . тАФ . , bip , docker-compose , .. .


-p --publish, network host mode тАФ 5% , тАж :-) - , docker NAT.


docker тАФ


, , ? . тАФ "" aufs, overlay2, .. . тАФ . volume image, - . , overlay2 . docker info .


тАФ ! - -. ( ) тАФ . , -.


docker hub тАФ


Docker Inc. тАФ Docker Hub. , . , ( ). , ? , , - . тАФ root' . , , . тАФ , , .


тАФ . , тАФ . , - ( , ). тАФ , . тАФ тАФ python, ruby, node.js. golang java тАФ .


? тАФ , тАФ тАФ registry -. ( , , , , k8s).



registry vs repository, bind mount vs volume ( docker run ... -v, ), tag vs image name, EXPOSE vs expose vs ports, volumes (, ...). . , , .. . , , .. , .



тАФ docker . . . . . systemd unit' (, тАФ - ), bash.


, docker-compose. , . depends_on, тАФ , .. ( docker-compose up) , . , ( 2.4 docker-compose).


docker-compose


docker-compose тАФ 2.* 3.*. . 3.* docker swarm . .



100500 docker docker-compose. . , - docker, Docker Inc. . "" docker.io docker-ce. , , , . Docker


, , docker Ubuntu snap. - . . , docker .


docker-compose тАФ pip тАФ . -, docker-compose ( ). -, python (! ), docker-compose (, тАФ , , ). тАФ тАФ . ( тАФ md5sum).


docker


docker тАФ , . , docker agile- : . , . тАФ , - root . , :


docker run --rm -it -v /:/rootfs ubuntu bash


, . , . (), .


, , bind mount ( -), . , , , , hot reload' . , тАФ bind mount docker run ... -v ... root . bind mount (docker run ... --mount ...), , . ? , :-) тАФ volume ( /var/lib/docker/volumes


, docker . , , CVE .


docker -


linux-kind . , .. docker namespaces cgroups . ? , Mac Windows docker Docker Desktop , volume ( , .. ). , .


docker


100% . iops, . , , тАФ , . , , . тАФ dentry


docker


docker json-file . /var/lib/containers/<hash>/<hash>-json.log . , ? . " "
тАФ journald, docker logs ( !?). тАФ , Docker-EE, ?
тАФ ? . , , .


docker


. , docker . , systemd-nspawn. тАФ , Vagrant, VirtualBox lxc/lxd, . docker , kubernetes тАФ containerd, .



: docker-compose тАФ YAML docker-compose- ? docker swarm (kubernetes ) тАФ . Docker Inc. ( ), (*) , . .


The END


? тАФ docker тАФ . , . . docker тАФ . , , cri-o/podman/buildah, . FireCracker, ( ) ( ).


, .


(*) тАФ docker-template, multi-stage docker build, buildkit , тАФ .

Source: https://habr.com/ru/post/hi467607/


All Articles