
ã³ã³ããåã®ã¢ã€ãã¢ã¯ããªãåã«çãŸããŸããããDockerã¯å€§è¡çãªäººæ°ãç²åŸããæåã®ãã¯ãããžãŒã§ããã ãããçºçããçç±ã3幎éã§Dockerãã©ãã ããæçããããããããŠå¿é
ããããšãæ¢ããŠéçšã¢ããªã±ãŒã·ã§ã³ã§Dockerã䜿ãå§ããããšãã§ããææã«ã€ããŠãç§ãã¡ã¯å°é家ãšè©±ããŸããã

Alexander
aatarasoff Tarasov-Alpha Labã®ãœãããŠã§ã¢ã¢ãŒããã¯ãã çŸåšã圌ã¯ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãå°å
¥ããDevOpsã©ã€ã³ãåãããŠããŸãã1幎以äžåã«ãAlfa Bankã§Dockerãå®è£
ããçµéš
ã«ã€ããŠè©±ããŸããã
éçšäžã®DockerïŒæµè¡ããŠãããšããçç±ã ãã§ããŒã«ã䜿çšããããšã¯ã§ããŸãã
-ãªãDockerã䜿ãå§ããã®ã§ããïŒ-ãã¹ãŠã¯Dockerã§ã¯ãªãããã¡ããå§ãŸããŸãããæšå¹Žãåæ£ã·ã¹ãã ãšãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãžã®æ§é çå€åããããŸããã ãã®ããã»ã¹ã®äžç°ãšããŠãåæ£ããã³ããšã³ãã·ã¹ãã ãéçºããããã«ãã·ã¹ãã ãäœãçŽãããã軜éãªAPIãšUIã«ç§»è¡ãå§ããŸããã
ããæç¹ã§ãNodeJSãªã©ã®æ°ãããã¯ãããžã®å°å
¥ã«äŒŽãããã¹ãç°å¢ãšéçšç°å¢ãžã®å±éã®åé¡ãçºçããããšãããããŸããã ã¯ã©ã€ã¢ã³ããžã®ãœãããŠã§ã¢ã®ããã±ãŒãžã³ã°ãšé
ä¿¡ã®æ¹æ³ãçµ±äžããåæã«ã¡ã³ããã³ã¹äœæ¥ãå¯èœãªéãç°¡åã«ããããŒã«ãå¿
èŠã§ããããã®ãããDockerã¯äž»ã«ã«ãã»ã«åæ©èœãå®è¡ããã¢ããªã±ãŒã·ã§ã³ã®å®è£
æ©èœãçµ±åAPIã®èåŸã«é ããŸãã ããã«ãããéçºè
ã¯ãã¯ãããžãŒã®éžæã«ããèªç±ã«ã¢ãããŒãã§ããã¢ããªã±ãŒã·ã§ã³ã¯ãã¹ããŒãã®1ã€ã§ããªã«ãã«ã«ãã§ããšç§ããã¹ãã¬ã¹ã¬ã¹ã¢ãŒããã¯ãã£ããšåŒãã ç¶æ
ãéæããŸãã 1ã€ã®ã¯ã©ã¹ã¿ãŒ/ãã·ã³ã§ãã¢ããªã±ãŒã·ã§ã³ã®åã
ã®éšåãæŽæ°ãããšãã®ãµããŒããããèªä¿¡ãæã€ããã«ãªããŸãã
ãã¹ãã¬ã¹ã®å€ããã¢ãŒããã¯ãã£ã®äŸãšããŠãå€å
žçãªJ2EEã¢ããªã±ãŒã·ã§ã³ãèŠãããšãã§ããŸããJavaããŒãžã§ã³ãJ2EEãµãŒããŒã®ããŒãžã§ã³ã«äŸåããŠãããããç¹å®ã®å¶éã課ããããæ°ããããŒãžã§ã³ãžã®ç§»è¡ã«ã¯åºç¯ãªãã¹ããå¿
èŠã§ãããªããŸãã§ãã Dockerã«ç§»è¡ããŠããã®æŠå¿µãå€æŽããŠããŸããå¿
èŠãªäŸåé¢ä¿ã¯ãã¹ãŠæ¢ã«ã³ã³ãããŒå
ã«ãããããæ°ããããŒãžã§ã³ã®JavaãŸãã¯ãµãŒããŒã®äœ¿çšãéå§ããã®ã劚ãããã®ã¯äœããããŸããã
ãããããDockerã¯ç§»è¡äžã®ãã¹ããæé€ããŸãããã Dockerã§ç°¡åã«ã§ããããšã¯äœã§ããïŒ-Dockerã¯ãã³ã³ããããšã«1ã€ã®ã¢ããªã±ãŒã·ã§ã³ã®æŠå¿µã«åºã¥ããŠæ§ç¯ãããŠããããã2ããŒã¹ã®ç°ãªãã³ã³ããŒãã³ãããããã€ãããŠããJ2EEãµãŒããŒãæŽæ°ããå¿
èŠãããç¶æ³ããéããããŸãã 代ããã«ããã軜éã®çµã¿èŸŒã¿ãµãŒããŒã䜿çšããåé¢ã¢ããªã±ãŒã·ã§ã³ã«å¯ŸåŠããå¿
èŠããããŸãã ããã«ããããã¹ãŠãäžåºŠã«ç§»è¡ããã®ã§ã¯ãªããæŽæ°ãæéïŒã¿ã€ã ã©ã€ã³ïŒã§ãæ¡æ£ãããåå²ããŠç§»è¡ã§ããŸãã
-ã€ãŸããDockerã¯ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãžã®åãæ¿ããç©æ¥µçã«æšé²ããŠããŸããïŒ-ç§ã¯ãããæŒããšã¯èšããŸãããã圌ã¯ããã«éåžžã«ããåããŸãã ããã2ã€ã®çŸè±¡ã¯ãäºãã«éåžžã«èª¿åããŠè£å®ããŸãã
Dockerã䜿çšããããã ãã«ã·ã¹ãã ãåæ§ç¯ããã®ã§ã¯ãªããéã«ãåœæååšããŠããJ2EEãµãŒããŒãæçåããå¿
èŠæ§ããé²ã¿ãDockerã䜿çšãã決å®ã¯ç§ãã¡ãçŽé¢ããã¿ã¹ã¯ããçãŸããŸããã ããã¯éåžžã«æ£ããã¢ãããŒãã ãšæããŸãããªããªãããªããã¯ãããžãŒãå¿
èŠãªã®ãããããªãå Žåããã¯ãããžãŒã解決ããåé¡ãæ確ã«ç解ã§ããããããå¿
èŠãšããªãããã§ãã ãã¡ãã·ã§ããã«ã§ãããšããçç±ã ãã§ããŒã«ã䜿çšããããšã¯ã§ããŸããã
-ããã§ã¯ãããªãã®ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã¯Dockerãªãã§ã¯çããŠããŸããã§ãããïŒ å察ã®ç¶æ³ãæ³åãããšããã§ã«åäœããŠãããã€ã¯ããµãŒãã¹ã¢ããªã±ãŒã·ã§ã³ãDockerã«ç§»è¡ããŸããïŒ-ç空ã®äžã§æœè±¡çãªãããžã§ã¯ãã«ã€ããŠè©±ãããšã¯éåžžã«å°é£ã§ãã Dockerã¯ç¹å®ã®åé¡ã解決ããããšãç解ããå¿
èŠããããŸãã ãããã«ããŠãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã管çãªã©ã®æ段ãå¿
èŠã«ãªããŸãã Dockerã«ç§»è¡ããåã«æ¢ã«äœããæžããŠããå ŽåãçŸåšã®ç¶æ
ã«é¢ããŠDockerãããããå©ç¹ãçå£ã«æ€èšãããã®ãããªç§»è¡ã®ã¡ãªãããšã³ã¹ãã®æ¯çã«åºã¥ããŠæ±ºå®ããå¿
èŠããããŸãã
-Docker以å€ã®ããŒã«ãæ€èšããŸãããïŒ-ããŒã«ãéžæãããšããå®éã«ã¯Dockerã«ä»£ãããã®ã¯ãããŸããã§ãããããã«ã1幎ååã®DockerãšDockerã¯å®å
šã«ç°ãªããã®ã«ãªããŸããã åœæã¯
LXCã³ã³ãããŒããããŸããããéçºè
ã®èŠ³ç¹ããèŠããšDockerã®æ¹ã䟿å©ã§ããã
Dockerã«å ããŠã
Rocketãããžã§ã¯ããç»å ŽããŸãã-ç¬èªã®APIãåããã³ã³ããåã·ã¹ãã ã§ãã
ããæç¹ã§ãå€ãã®å€§äŒæ¥ã¯ã³ã³ãããŒåãéåžžã«ææãªãã¯ãããžãŒã§ããããšã«
æ°ä»ã ã
runCã©ã³ã¿ã€ã ãéçºãããŠãã
Open Container Initiativeã³ã³ãœãŒã·ã¢ã ãäœæããŸããã ããã¯å®å
šã«ãªãŒãã³ãœãŒã¹ã§ãããDocker-imagesããã³ãã®ä»ã®äºææ§ã®ããã¿ã€ãã®ã³ã³ãããŒãå®è¡ã§ããŸãã runCã«åºã¥ããŠãDockerèªäœãæ©èœããããã«ãªããŸããã ãããã£ãŠãDockerã®äœ¿çšããã³ããŒããã¯ã®å Žåãããã¯éåžžã«éèŠã§ã¯ãããŸããã
-ãã³ããŒããã¯ã«ã€ããŠèª¬æããåŸãæ¬çªç°å¢ã§çŽç²ãªDockerã䜿çšããã®ã¯ãŸã ãããããŸããããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããã°ã®åŠçãªã©ã«ä»éãããµãŒãã¹ãå¿
èŠã§ãã ãã®ãããªãã¹ãŠã®ãœãªã¥ãŒã·ã§ã³ãDockerçšã«äœæãããå¯èœæ§ã¯ãããŸããïŒãŸãããã®çç±ã§ããã眮ãæããããšã¯å°é£ã§ããããïŒãã¡ãããDockerã¯çŸåšããŒã±ãããªãŒããŒã§ããããããã®åéã®ãã¹ãŠã®ãœãªã¥ãŒã·ã§ã³ã¯DockerããµããŒãããããDockerã«éç¹ã眮ããŠããŸãã ãã ããçŸåšäœ¿çšããŠãã
Marathonã«ã€ããŠèª¬æããå Žåãããã¯
Mesosphereã®åãªããã¬ãŒã ã¯ãŒã¯ã§ãããã³ã³ãããŒã®èµ·åãŸãã¯é·æéå®è¡ãããã¿ã¹ã¯ã«ç¹åããŠããŸãã
Rocketãæ®åããã°ãRocketããµããŒãããMesosphereã®æ°ãããã¬ãŒã ã¯ãŒã¯ãäœæããããRocketãç¬èªã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŒã«ãäœæããŠäœ¿çšããããšã«ãªããŸãã
-ãããããã¹ãŠã®éçºè
ãDockerãç¿åŸããªããã°ãªããªããšããããã§ã¯ãããŸãããïŒ-çãçãïŒã¯ãã é·ããã®ã¯ãæåã®åé¡ã§ãããéçºè
ããšã³ãžãã¢ã§ãããè€éãªåé¡ã解決ã§ãããšããäºå®ã§ãã
è¯ãäŸãã¯ãã¹ãã§ãïŒåäœãã¹ãã®éçºã¯ç¹å¥ãªäººã®ä»äºã§ã¯ãªããçµ±åãã¹ãã§ããéçºè
ã®ä»äºã§ãã ãšã³ãžãã¢ã¯ãã¯ã©ã€ã¢ã³ããšé£æºããæºåãæŽã£ãå®å
šãªæ€èšŒæžã¿ãœãªã¥ãŒã·ã§ã³ãäœæããå¿
èŠããããšèããŠããŸãã ãœãããŠã§ã¢ã®ãã¹ããèªåã§äœæããé
ä¿¡ããã»ã¹ã«åŸã£ãŠCIãµãŒããŒã§å®è¡ããå Žåããã¹ãããã»ã¹èªäœã§ã¯ãªãããã¹ãã±ãŒã¹ãšãã¹ãã¢ãã«ãäœæããããã«å°çšã®ãã¹ã¿ãŒãå¿
èŠã§ãã ã³ã³ããåã®äžçã§ãåãããšãèšããŸãããšã³ãžãã¢ã¯ãœãããŠã§ã¢ãå±éããããã®ã¹ã¯ãªãããäœæããã³ã³ãããåéããŠDockerã€ã¡ãŒãžãå®è¡ã§ããŸãã ã¯ããããã¯åœŒããæã£ãŠããè¿œå ã®ç¥èã§ãããããã¯åœŒããã·ã¹ãã 管çãŸãã¯ã·ã¹ãã ãœãããŠã§ã¢ã®åŸ®èª¿æŽã®å°é家ã§ããããšãæå³ããŸããããé¢é£ããäž»é¡åéã®ãã®ãããªç¥èã¯æ±ºããŠäžå¿
èŠã§ã¯ãããŸããã
ããã¯æåãšæåã®å€åã®åé¡ã§ãã éçºã¯åãªãã³ãŒãã§ã¯ãªããç§ãã¡ã«ãšã£ãŠéçºãšã¯ãã¯ã©ã€ã¢ã³ãã«æäŸã§ããã¿ãŒã³ããŒãœãªã¥ãŒã·ã§ã³ã®ãªãªãŒã¹ã§ãã
-Docker'omã®ãããã€ã«ã¯å€ãã®åŸ®èª¿æŽãå¿
ââèŠã§ãããïŒ-Dockerã®åŸ®èª¿æŽã¯ããã»ã©å€ããããŸããããã€ã³ãã©ã¹ãã©ã¯ãã£ãœãããŠã§ã¢ã§ã¯ãæ§æïŒ
Consul ã
Zookeeper ïŒã®ç°ãªãã¹ãã¬ãŒãžã·ã¹ãã ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŒã«ïŒMesosphereããã³MarathonïŒããã°åŠçïŒ
Elasticsearch ã
Kibana ã
Kafka ïŒã«å€ãã®æéãããããŸããã
質åãDockerãšã®çµ±ååŸã«ããã«äœæ¥ããã£ããã©ããã§ããå Žåãåçã§ãããšèšããŸãã ç¬ç«ããèªå·±å®çµåã®ã³ã³ããŒãã³ãã®ããã«ã©ããã§å°ãããªãããããã€æã«ç解ããŠèæ
®ããå¿
èŠãããDockeræ©èœãä¿®æ£ããå¿
èŠãããå Žåã
Dockerèªäœã®èšå®ã«é¢ããŠã¯ããŸã ãã®ãããªã¿ã¹ã¯ã¯ãããŸããã§ããããDockerãšã³ãžã³ã埮調æŽããã¹ãã¬ãŒãžãã©ã€ããŒãã¢ããªã±ãŒã·ã§ã³ããã¢ããªã±ãŒã·ã§ã³ã«å€æŽããå¿
èŠã¯ãããŸããã§ããã
-Dockerã¯ããŒã ã®Gartneræ²ç·ã®ã©ãã«ãããŸããïŒãç§ãã¡ã¯çç£æ§ã®ãã©ããŒã«ãããšæããŸããã Dockerãå€ãã®åé¡ã解決ããæå°éã®æ¬ é¥ããããšããäºå®ã«ãããããªã倧ããªå¹žçŠæããããŸããããéã®åŒŸäžžããªãã解決ãŸãã¯åé¿ãããåé¡ãçŸããããšãåŸã
ã«èªèãããã®æè¡ã䜿çšããŠããžãã¹äžã®åé¡ãå¹æçã«è§£æ±ºã§ããããã«ãªããŸããã
補åã«å¯Ÿå¿ã ããªãããããé£ã¹ããšããç¹ã«ããªããæçããæ¹æ³ãç¥ã£ãŠããã°ãå°ãªããšãããããããŠããŸãã

Andrey
Filatov lincoreã¯ãã¯ã©ãŠããœãªã¥ãŒã·ã§ã³ã®ã¹ãã·ã£ãªã¹ãã§ãããDockerãšDevOpsã®ãã¡ã³ã§ããEPAM Systemsã®äž»èŠãªã·ã¹ãã ãšã³ãžãã¢ã§ãã
-Dockerã®äœ¿çšæ¹æ³-ããŠããããããžã§ã¯ãã§ã¯ãDockerãšJenkinsã䜿çšããŠCIãå®å
šã«èªååããŸããã
Dockerã¯ãã¹ãŠã«äœ¿çšãããŸããã¹ã¬ãŒãã¯Dockerã³ã³ãããŒã§å®è¡ããããã¹ãã³ã³ãããŒã¯ä»ã®ã³ã³ãããŒã«ãããã€ãããã¢ããªã±ãŒã·ã§ã³èªäœãDockerã³ã³ãããŒã§å®è¡ãããŸãã
-ãããŠããã¹ã¿ãŒïŒ-ãããããã¹ã¿ãŒã¯å€§ããªéã®ãã·ã³ã§ããå°ããªãã®ããã«ããã1ã€ãŸãã¯2ã€ã®ãã«ããå®è¡ããå¿
èŠãããå ŽåãDockerã䜿çšã§ããŸããã24æé幎äžç¡äŒã§åäœãã20ãã30ã®ããã»ã¹ããããDockerã¯ããŸãåäœããŸãããããã©ãŒãã³ã¹ã çŸåšã®æ§æã§ãããã¹ã¿ãŒã§èµ·åãšãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®ã¿ãè¡ãããDoker'zirovannyhã¹ã¬ãŒãã§ãã¹ãŠãåéããããšããäºå®ã«ããããããã倧åã®éã®æ©æ¢°ãæ倧éã«æŽ»çšããŸãã
-Dockerã«æ¥ããã£ããã¯ïŒ-ãŸãããã®ãããžã§ã¯ãã«ã€ããŠè©±ããšãç§ãããã«æ¥ããšããDockerã¯ãããŸããã§ããã å€å
žçãªæããããŸããïŒ2ã€ã®åå空ã®ãåžžã«ã¢ã€ãã«ç¶æ
ã®ã¹ã¬ãŒããã»ãšãã©ã®ãã€ãã©ã€ã³ã¯åã«ååšããããã¹ãŠã®ãã¿ã³ã¯äººã«ãã£ãŠæŒãããŸããã ã€ãŸããCIã®èŠ³ç¹ããã¯ãã»ãšãã©äœãè¡ãããŠããŸããã ããŒã«ãšããŠDockerãéžæããŸãããDockerãããŸãæ©èœããåœæã®ãªãœãŒã¹ãæ倧éã«æŽ»çšã§ããããšãæ¢ã«ç¥ã£ãŠããããã§ãã
-ãããŠã補åã§ã®Dockerã®äœ¿çšã«ã€ããŠã¯ã©ãã§ããïŒ-Dockerã«ã€ããŠã¯ããAmazonã®è¶£å³ã§ã話ãããšãã§ããŸãã Amazonã«ã¯
Elastic Contaiers ServiceãšãããµãŒãã¹ããããŸãã ãã®ããŒã«ã䜿çšããŠã30åã§ãŒãããŠã³ã¿ã€ã å±éãæŽçããbashã¹ã¯ãªãããäœæããŸããã ããã§ãããŒãã®äžã§Dockerã䜿çšãããŸããç»åãåéããŠAmazonã®ã¬ãžã¹ããªã«éä¿¡ãããã·ã³ããããECSèªäœã®éæ³ããããŸããã¿ã¹ã¯ãäœæãããµãŒãã¹ãéžæããååŸããã³ããŒã®æ°ãèšå®ããŸãã ç§ã¯é·ãéAmazonã«ç²ŸéããŠãããJSONããã°ã©ãã³ã°ã«æ
£ããŠããŸãããã30å以å
ã«CIããå±éãžã®ã¢ããªã±ãŒã·ã§ã³ã®é
ä¿¡ã段éçãªããŒã«ã¢ãŠããªã©ã§æŽçã§ããããšãéèŠã§ãã Amazonã¯ãã¡ããªãã¯ãš
Auto Scalingãæ£ããæ§æããã°ããŠãŒã¶ãŒãäœãå¿é
ããå¿
èŠããªãéããå¿
èŠãªãã¹ãŠã®ããŒã«ãæäŸããŸãããŠãŒã¶ãŒãå±±ç©ã¿ã«ãªããæ°ããã€ã³ã¹ã¿ã³ã¹ãšæ°ããã³ã³ãããŒãèªåçã«çºçããŸãã
-ãããŠãDockerã®åã¯ã©ãã§ãããïŒ-ã¿ããªã®ç掻ïŒãžã§ã³ãã³ã¹ããžã§ã³ãã³ã¹ã®å¥Žé·ã奎é·ã«ã¯sshããŒããããŸãïŒåœŒãã¯è»ã«è¡ããæŠäºããžã£ãŒãªã©ããã®å Žæã«çœ®ãããµãŒãã¹ãåéããŸãã Dockerã䜿çšãããšããã¹ãŠãããæè»ã§ããŒã¿ãã«ã«ãªããŸããååãšããŠãäœãå€æŽããã«ã©ãã«ã§ããããã€ã§ããŸããå®éãã€ã¡ãŒãžããDockerã³ã³ãããŒããããã€ããã«ã¯äœãåæ§ç¯ããå¿
èŠããããŸããã
-ãããŠãéçºè
ã¯ã©ã®ããã«ããŠDockerã«åãæ¿ããŸãããïŒ-Linuxéçºè
ã®å Žåã移è¡å
šäœã«1è¡ããããŸãã 確ãã«ãããã€ãã®å質ä¿èšŒãšã³ãžãã¢ã®ããã«ãDocker MachineãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããæ¹æ³ãDocker Composeãã€ã³ã¹ããŒã«ããæ¹æ³ãWindowsã§åäœãããæ¹æ³ãwikiã§è©³çŽ°ã«èª¬æããå¿
èŠããããŸãããããã¹ãŠãDocker Machineã
Virtual Boxã«ã€ã³ã¹ããŒã«ããããšã«å¶éãããŠããŸãcli-utilitiesã䜿çšã§ããŸãã Dockerã¯éåžžã«ã·ã³ãã«ãªããŒã«ã§ãã
-Dockerã«åãæ¿ãããšããä»ã®ãã¯ãããžãŒãèŠãŸãããïŒ ãã®ç¬éãåžå Žã«ã¯äœããããŸãããïŒ-ä»®æ³ãã·ã³ãé·å¹Žã®
Virtuozzoã«ã¯å®è£
ããããŸããããDockerã§è¡ã£ãããšãå®è¡ã§ãã䟿å©ãªããŒã«ã¯ãªãã倧èŠæš¡ãª
Vagrantæ§æã䜿çšããŠãã¹ãŠãæ§ç¯ããå¿
èŠããããŸãããããã®ãããªãœãªã¥ãŒã·ã§ã³ã¯ããã«ç§»æ€æ§ããªããªããŸãã
ãã·ã³ãŒããªãããŒãèŠãŠãããã¯çŽæã瀺ããŸããããããæè¿ã圌ã¯ãã®æã«çŸããŸãããããã䜿ãã®ã¯æãã£ãã§ãã ãããã£ãŠãDockerã«ä»£ãããã®ã¯ãããŸããã§ããããä»ã§ããå°ãªããšãæçãããã®ã§ã¯ãªãããã§ãã
-ãã©ãããã©ãŒã ãšãšã³ã·ã¹ãã ã¯ã©ã®çšåºŠçºå±ããŠããŸããïŒ-Dockerèªèº«ã«é¢ããŠã¯ããšã³ã·ã¹ãã ã¯æ£ããæ¹åã«é²ãã§ããŸããSwarmã¯ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã«é¢ããŠAmazonãæäŸãããã®ã«éåžžã«å£ã£ãŠããŸãããããã§ã¯ãã¹ãŠãéåžžã«åªããŠããŸãã ç§ã¯å°ãã®RïŒDããããŸããïŒå¿
èŠãçãããªãã°ãç§ãã¡ã¯å°ãã®è¡ã§Swarmã«ç§»äœã§ããããšãããããŸããã
- ã¡ãœã¹ãã§ã¢ã®ãããªãµãŒãããŒãã£ã®ãµãŒãã¹ã䜿çšããªããŠãïŒ-ãŸããç§ãã¡ã®ããŒãºã®ããã«-ã¯ããããªããå¿
èŠãšãããã¹ãŠã¯Swarmã«ãããŸãã è€éãªãããã¯ãŒã¯ã䜿çšãããã³ã³ããã®çžäºçµ±åã䜿çšããŸããã ããªãã·ã³ãã«ãªã€ã³ãã©ã¹ãã©ã¯ãã£ããããŸãã
-äžèšã§èšãã°åœŒå¥³ã«ã€ããŠè©±ããŸããïŒ-3ã€ã®å±€ããããŸãïŒ
nginxãžã®ãšã³ããªãã€ã³ããããã³ããšã³ãã³ã³ãããŒãããã€ãã®ç°ãªãçš®é¡ã®APIãæ
å ±ãã³ãã©ãŒãããŒã¿ããŒã¹ãšéä¿¡ããããã€ãã®ãµãŒãã¹ããããŸãã APIãµãŒãã¹ã¯ãããŒã¿ããŒã¹èªäœããèªã¿åããã
redisã«ãªã¯ãšã¹ããéä¿¡ããŸããããŒã¿ãšãã®å€æŽãåŠçãã
ãŠãŒã¶ãŒã¯ãå¿
èŠãªãã¹ãŠã®æ
å ±ãredisããååŸããŸãã redisãšããŒã¿ããŒã¹ããµãŒãã¹ãšããŠååšããAmazonãã移è¡ããå¿
èŠãããå Žåã¯ãããããèªåã§äžããå¿
èŠããããŸãã
ããªãDockerã䜿çšããªãã®ã§ããïŒãããã³ããŒã¯ã©ãã·ã£ãŒã«å
¥ããã®ã¯æå³ããªããšæããŸããã 倧éã®ããŒã¿ããã€ãžã§ã¹ãããã¬ããŒãããŒã«ã䜿çšããŠããå ŽåãDockerã®ãªãŒããŒããããããã©ãŒãã³ã¹ã«åœ±é¿ããããããã¡ãŒã ã®ã¬ã³ããªã³ã°ã«ãæå³ããããŸããã äžè¬ã«ããçã®ããã©ãŒãã³ã¹ããå¿
èŠãªå ŽåãDockerã¯ããŸãè¯ããããŸããã ããã§ããããŸãããä»®æ³ãã·ã³ã䜿çšã§ããå Žæãªãã©ãã§ããDockerã¯å®ç§ã§ãã
ç§ãç¥ãéããDockerã¯Windowsã³ã³ããã§ã¯åäœããŸããããå
æ¥2016幎ã«ãµãŒããŒãDockerã³ã³ããããµããŒããããšãããã¥ãŒã¹ããã£ããããMicrosoftã¯DockerããŒã ãšååããŠãããããããããã¯è¿ãå°æ¥å€æŽãããŸãã
-ãããŠãã€ã³ãã©ã¹ãã©ã¯ãã£ã«ã€ããŠã§ã¯ãªããã¢ããªã±ãŒã·ã§ã³èªäœã«ã€ããŠè©±ããŠãã ãããDockerã®åºçŸã«ãã£ãŠã¢ãããŒãã¯å€ãããŸãããïŒ-ã»ãšãã©ãããŸããã æåã«ãã€ã³ãã©ã¹ãã©ã¯ãã£ãå°èŠæš¡ãŸãã¯äžèŠæš¡ã®ä»®æ³ãã·ã³äžã«ãããæ°Žå¹³æ¹åã«ååã«æ¡åŒµããå¿
èŠããããšããäºå®ã«åããŠãDockerãäžäœã¬ãã«ã眮ãæããŸããã ãã¡ãããäžéšã®å°åã§ã¯ãã¢ããªã±ãŒã·ã§ã³ãé
眮ãããŠããç¶æ
ã®ãã§ãã¯ãè¿œå ãããŠããŸãã ã€ãŸãã以åã«ã¢ããªã±ãŒã·ã§ã³ãŸãã¯ä»®æ³ãã·ã³ãåèµ·åããããŒã¿ã倱ãããªããšäºæ³ããŠããå Žåãã³ã³ãããæ»ãã å ŽåãããŒã¿ã¯ãããšãšãã«æ»ã¬ããšãç解ããå¥ã®å Žæã«ä¿åããå¿
èŠããããŸãããredisãš
postgresqlãã®åé¡ã解決ããŸãã
-Dokerãã¯ãããžãŒã®æç床ã¯ïŒ-補åçã ããªãããããé£ã¹ããšããç¹ã«ããªããæçããæ¹æ³ãç¥ã£ãŠããã°ãå°ãªããšãããªãã¯ããããããŠããŸããã
Dockerã¯ããŒã«ã«é¢ãããã®ã§ãã 圌ã®åã«ã¯ãcgroupsãzoneãããã³ä»ã®å€ãã®ãã¯ãããžãŒããããŸããã ããããããããæé ãªäŸ¡æ Œã§äººæ°ã®ãããã®ã«ããã®ã¯Dockerã§ããã
Sergey Egorov bsideup -ZeroTurnaroundã®ãã«ã¹ã¿ãã¯ãšã³ãžãã¢ã 圌ã¯2013幎ã«ãšã¹ããã¢ã«ç§»ãããã®åŸããã·ã¢ã®ããŸããŸãªäŒæ¥ã§ã²ãŒã éçºã«æºãããŸããã 圌ã¯Dockerã奜ãã§ãè² è·ã®é«ãã·ã¹ãã ãæ§ç¯ããGroovyã³ã³ãã€ã©ãŒãä»ã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã調ã¹ãŸãã
-Dockerã«æ¥ããã£ããã¯ïŒ ã©ã®ãããžã§ã¯ãã«åãçµãã§ããŸããïŒ2014幎ãç§ã¯
Creative Mobileã«å€åããéšéã®ãµãŒããŒã®éçºãšå±éãæ
åœããŸããã ããã¯ç€ŸäŒçãªãããžã§ã¯ãã§ããã ã²ãŒã ã1ç§ãããæ倧1000ãªã¯ãšã¹ãã
åœæãç§ã¯EC2 Autoscaling Groupã«JBoss ASã¯ã©ã¹ã¿ãŒïŒåŸã®WildflyïŒããããã€ããPuppetã䜿çšããŸããããæ®å¿µãªããããã®ãœãªã¥ãŒã·ã§ã³ã¯ãµãŒããŒã®è¿
éãªãããã€ã®ããã«éåžžã«äžå®å®ã§ããïŒãããŠ1æ¥ã«æ°ååã®å±éïŒã¯ãå±éã®èæ§ãç ç²ã«ããªããã°ãªããŸããã§ããã
ãã®çµæãå€ãããã±ãŒãž/æ§æïŒXML圢åŒã§ããããã³ãã³ãã©ã€ã³ããå€æŽããã®ã«æãäžäŸ¿ãªåœ¢åŒã®1ã€ãïŒãæ°ãããã®ãšç«¶åããç¶æ³ãçºçããããšããããŸããã
圌ã¯å®å®ããå±éã®ããã®ãªãã·ã§ã³ãç 究ãå§ããŸããã ãªããªã AWSã§ãã¹ããããŠããŸããããåœæã¯OpsWorksãšElasticBeanstalkããéžæã§ããŸããã é·ã調æ»ã®åŸãéžæã¯ElasticBeanstalkã«èœã¡ãŸãããããã§ã¯ããäœããã®çš®é¡ã®DockerããŒãžã§ã³0.9ãã䜿çšãããªãã·ã§ã³ã«æ°ä»ããŸãããããã¯ãã以åã«çºè¡šããããœãªã¥ãŒã·ã§ã³ã®ã©ããããªãã«åããªãå Žåãããªããæãæ¹æ³ã宣èšããããã®æœè±¡çãªã·ã¹ãã ã§ããã¢ããªã±ãŒã·ã§ã³ãèµ·åããŸããã ããã«ãããäœã§ãããã©ã®ããã«èª¿çããããç 究ããã®ã«åœ¹ç«ã¡ãç¿æ¥ãç§ãã¡ã®å¶äœã¯Dockerã«ç§»è¡ããŸããã ã¯ããã¯ããããŒã«ã«éçºã§Dockerã«åãæ¿ããåã§ãã£ãŠãã2014幎ã«Dockerã補ååãããŸããã
ãã®åŸãä»ã®ããã€ãã®è² è·ã®é«ãCreative Mobileãããžã§ã¯ãã«Dockerãæ£åžžã«çµ±åããŸããã
TransferWiseã«é²ã¿ããããã³ã°ã®ã¢ã€ãã¢ãç©æ¥µçã«æšé²ãã 瀟å
ã®ãã€ã¯ããµãŒãã¹ãžã®ç©æ¥µçãªç§»è¡ã®ææã§ãããéçšæ
åœè
ãšæŠããªããã°ãªããªãã£ãå Žåãé€ããé·ãéã¡ãªããã説æããå¿
èŠã¯ãããŸããã§ãã:)
-ããã€ãã®ã·ããªãªã§ã¯ãDockerã¯ãªãŒããŒãããã®ããã«é«ãããã©ãŒãã³ã¹ãçºæ®ããªããšèããããŠããŸãã ããã«ã€ããŠã©ãæããŸããïŒããã¯æã人æ°ã®ããDockerç©èªã®1ã€ã ãšæããŸãã å人çã«ãç§ã¯ãã®ãããªäºæãå人çãªçµéšã§æ°åãä¿¡ããŠããŸãã ãããŠã2çªç®ã«ã»ãšãã©ä¿¡é Œããªãå Žåãæ°åã¯åãã€ãããäŸãã°
IBMãªã©ã®å€§èŠæš¡ãªåžå Žãã¬ãŒã€ãŒã®ç 究ã«æ³šæãæãããšããå§ãããŸãã
ãã®ããã¥ã¡ã³ãã¯2014幎7æã®ãã®ã§ããã2幎åŸãDockerããŒã ã¯ããã©ãŒãã³ã¹ãå«ãèšå€§ãªæ°ã®æ¹åãè¡ã£ãŠããããšã«æ³šæããŠãã ããã
ããšãã°ã2016幎ã«ãPercona
ã¯IOããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ã«å¯ŸããDockerã®åœ±é¿ã枬å®ããŸãã ã çµæ-圌ãã¯çŸããã°ã©ãã£ãã¯ã®ã¬ã€ã¢ãŠãããå§ããŸããã§ããããªããªã çµæã¯ããã¢ã¡ã¿ã«ã®çµæãšåãã§ããã
Dockerã®ãã¹ãŠãããŒã«ã«ã®éçºç°å¢ããé§åããŠã·ã¹ãã ãæ§ç¯ãïŒãããæã
ã¯Dockerã®Jenkins-masterãé§åããïŒãæ¬çªã«é§åããŸããã
ããªãDockerã䜿çšããªãã®ã§ããïŒãçŸåšãèšå€§ãªæ°ã®ãœãªã¥ãŒã·ã§ã³ãããã«ãããããããã¹ããŒããã«ã¢ããªã±ãŒã·ã§ã³ïŒæ°žç¶ã¹ãã¬ãŒãžãåããããŒã¿ããŒã¹ããããã¹ã¿ãŒããåããããŸããŸãªçš®é¡ã®ãã£ãã·ã¥ãã¹ã±ãŒã©ãã«ã§ãªãããã¯ãšã³ãïŒãåããã®ã¯èŠçã§ãã çã¿ã®åå ã¯Dockerãã®ãã®ã§ã¯ãªããã¢ããªã±ãŒã·ã§ã³èªäœãå¥ã®ãã¹ãäžã§ã転éããããã¡ã€ã«ã·ã¹ãã ãªã©ã§å®è¡ããæºåãã§ããŠããªãããã§ãã
ãŸããã¢ããªã±ãŒã·ã§ã³ãéã䜿çšããŠã¢ã¯ãã£ãã«åäœããŠããå Žåãã³ã³ããã«éãæããããšã¯ãŸã éèŠã§ã¯ãªããšèŠãªãããŸãã å¯èœã§ãããããŒã«ïŒããã³Dockerã¯ã³ã³ãããŒåã§ã¯ãªããããŒã«ã«é¢ãããã®ã ãšæããŸãïŒã¯ããã«äœ¿çšã§ããç¶æ
ã§ã¯ãªããããéåžžã«ç°¡åã§ãã
-Dockerã§æ°å¹ŽéåããŠããŸãã 代æ¿æ¡ãæ€èšããŠããŸããïŒ ããããååšããŸããïŒéžæè¢ããããåžžã«ååšããŸãã äž»æµã奜ãŸãªã人ãããŸã:)
ãŸããäž»èŠãªåžå Žé¢ä¿è
ã¯ãDockerã®éçºã«ååãªåœ±é¿ããªãããšãæžå¿µããŠããŸãã
幞ããªããšã«ãDocker Inc. ãã«ãšã¯ã»ã©é ããããšãã°ããã¹ãŠãOpen Container Initiativeã®åœ¢åŒã§æšæºåããããšããè©Šã¿ã¯ã圌ããã³ã³ããåžå Žã§æŠãããšãæãŸãªãããšãå®èšŒããã ãã§ããã圌ãã®åžå Žã¯äžæµã®ããŒã«ã§ãã
æåŸã«ãç§ã¯å©ããããšãã§ããŸããããç§ã®Dockerãã©ã€ããå
±æããŸãïŒD

ç¶ç¶çé
ä¿¡ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãã³ã³ããåã«ã€ããŠè©³ããç¥ãããå Žåã¯ã
Joker 2016ã®æ¬¡ã®ã¬ããŒãïŒãµã³ã¯ãããã«ãã«ã¯ã10æ14ã15æ¥ïŒã«é¢å¿ãããã§ãããã