翻蚳è ããã®èª¬æïŒç®ã®åã«è¡šç€ºããã翻蚳ã¯ãå®çšŒåäžã®å ã®Moby / Dockeræçš¿ã«åºã¥ããŠã2017幎2æ23æ¥ã«äœæãããŸããã 倱æã®ç©èª ããã®ç¿»èš³ã¯ïŒ ãªã¬ã°ãã£ãŒã®åäœè ã«ããïŒããããã¬ã§ã掻çºãªè°è«ãåŒãèµ·ãããŸããã æžããæ¥ä»ã«åãããŠèªãã§ãã ãã-å ã®ããã¹ãã¯ã»ãŒ1幎åã«æžãããŸããïŒ
ããã¹ãã®æ±ãã¯ç°ãªããŸãã æã®ã³ãŒããŒã楜ããã§ãèè ã®èªèã®ããªãºã ãéããŠèªåèªèº«ãèŠãŠã¿ãŠãDockerã«ã€ããŠã®ã¢ããã€ã¹ãèãããšãã«ã圌ã圌ã®çµéšãšä»äºã«å¯Ÿããæ 床ã§ã©ã®ããã«åå¿ãããèããŠã¿ãŠãã ããã
æ¬çªç°å¢ã§ã®ä»¥åã®Moby / Dockerã®èšäºã 倱æ話ã¯ãããã§ããããšãå€æããŸããã ä»æ¥ãé·ãè°è«ãæ°çŸä»¶ã®ã¬ãã¥ãŒãæ°å件ã®ã³ã¡ã³ããããŸããŸãªäººã ãšã®äŒè°ã倧èŠæš¡ãªãã¬ãŒã€ãŒãšã®äŒè°ãããã«å€ãã®å®éšãšããå€ãã®å€±æã®åŸãåçã®æŽæ°ãå ¬éããæãæ¥ãŸããã
ãã¹ãŠã®ææ°ã®ã³ãã¥ãã±ãŒã·ã§ã³ãšèšäºããåŠãã æèšãèŠãŠãããŸããããŸãã¯ãæ確åããªãã€ã³ããŒãããã³å°ãã®ã³ã³ããã¹ãã§ãã
å 責äºé ïŒå¯Ÿè±¡èªè
å€ãã®ã³ã¡ã³ãã¯ãäžçã¯ãã£ã10çš®é¡ã®äººã ã«åå²ãããŠããããšã瀺ããŸããïŒ
1ïŒæ人ãã¡
éåžžãå®éã®ãŠãŒã¶ãŒãããªããã¹ããŸãã¯è¶£å³ã®ãããžã§ã¯ãããµããŒãããŸãã 圌ãã¯ãUbuntuã®ããŒã¿çã䜿çšããã®ãæ®éã§ãããšä¿¡ãããããããŸããããããŠã圌ãã¯ãã¹ãŠãã å®å® ãæ代é ããšåŒã³ãŸãã
圌ã責ããããšã¯ã§ããŸããã圌ã®ãã·ã³ã§ã¯ã³ãŒããæ©èœããŸãã
2ïŒå°é家
å®éã®ãŠãŒã¶ãŒãšã®å®éã®ããžãã¹ã«äžå¯æ¬ ãªã·ã¹ãã ããµããŒãããŸãã 確ãã«åœŒã®è¡åã«è²¬ä»»ãããã ãã¶ããã¡ã³ã«åœãããšé»è©±ãããã£ãŠããŸãã
...ããã¯ãå¥ã®5å8,600äžäººã®ãŠãŒã¶ãŒãå
¥åããã·ã¹ãã ã§ã¯æ©èœããªãå¯èœæ§ãããããã§ãã
ã©ããªã¿ã€ãã®èŽè¡ã§ããïŒ
ãããã®äžçã®å¢çã¯éåžžã«èãã§ãããæããã«ããããã¯éåžžã«ç°ãªãåºæºãšæåŸ ãæã£ãŠããŸãã
éèã®åéã倧奜ããªçç±ã®1ã€ã¯ãéèæåãçºéããŠããããšã§ãã äžè¬çãªä¿¡å¿µã«åããŠãããã¯ãªã¹ã¯éžå¥œåºŠã®åäžãæå³ããã®ã§ã¯ãªããå¯èœæ§ã®ãããªã¹ã¯ãšæœåšçãªå©çãæ€èšããããããçžäºã«æ¯èŒããç¿æ £ã§ã ã
èªåã®æšæºã«ã€ããŠå°ãèããŠã¿ãŠãã ããã Dockerã«äœãæåŸ ããŸããïŒ å®è¡ãããã¹ãŠã®ã·ã¹ãã ãã¯ã©ãã·ã¥ããããŠã³ããããã¹ãã¬ãŒãžããªã¥ãŒã ãç Žæããå Žåãäœã倱ãããŸããïŒ ããã¯ãéžæã«åœ±é¿ããå¯èœæ§ãããéèŠãªèŠçŽ ã§ãã
æåŸã®èšäºãå ¬éããããä¿ãããã®ã¯ãDockerã®äœ¿çšãæ€èšããŠãããããDockerã«ã€ããŠã©ãæãããå°ããéèäŒç€Ÿã®ç·ãšã®äŒè©±ã§ããã ãšãããã圌ã®äŒç€Ÿãç¹ã«ãã®ç·ã¯ãäœçŸäžäººãã®ã¢ã¡ãªã«äººã®å¹Žéãå«ãæ°å ãã«ãåŠçããã·ã¹ãã ãéå¶ããŠããŸãã
Dockerã¯ç§ã®æ¯ã®å¹ŽéåŠçããµããŒãããæºåãå®å šã«æŽã£ãŠããŸããã Dockerã§ã®èç©ãããçµéšã¯ååã«ææžåãããŠããªãã£ããšæããŸãã
Dockerã®äœ¿çšãéå§ããããã«ç¢ºå®ã«ãããããšã¯äœã§ããïŒ
ãã®æç¹ã§ç¥ã£ãŠããã¯ãã§ãããDockerã¯éžæããã«ãŒãã«ããã¹ããããã³å®è¡äžã®ãã¡ã€ã«ã·ã¹ãã ã«éåžžã«ææã§ãã ééã£ãçµã¿åãããéžæãããšãã«ãŒãã«ãããã¯ããã¡ã€ã«ã·ã¹ãã ã®ç ŽæãDockerããŒã¢ã³ã®ãããã¯ãªã©ãçºçããŸãã
ããŸããŸãªåŽåæ¡ä»¶ã«é¢ãããã£ãŒãããã¯ãåéããèªåèªèº«ãããã«ç¢ºèªããæéããããŸããã
èªä¿¡ãæã£ãŠåäœããŠãããšèããããŠãããã®ãåäœããŠããªããæç¶çãªé害ãçµéšããŠããããŸãã¯åã«å€±æãããšããç 究çµæã調ã¹ãŸãã
泚æããã¿ãã¬ïŒDockerã®å Žåãä¿èšŒããããã®ã¯äœããããŸããã
å 責äºé ïŒãªã¹ã¯ãšçµæãç解ãã
ç§ã¯èªåã®åºæºãä¿¡é ŒãïŒæ¬ç©ã®ãéãåŠçããªããã°ãªããªãå°é家ãšããŠïŒã調æ»çµæããã©ããŒããŸãïŒå®äžçã®ã·ã¹ãã ã§åäœããä¿¡é Œã§ãããœãŒã¹ãä¿¡é ŒããŠããããïŒã
ããšãã°ãOSãšãã¡ã€ã«ã·ã¹ãã ã®çµã¿åãããã äžé©åïŒããªã¥ãŒã å šäœã®ããŒã¿æ倱ã䌎ããã¡ã€ã«ã·ã¹ãã ã®å£æ» çãªé害ãç»é²ãããŠããããšããŒã¯ãããŠããå Žå ãããã¯ïŒç§ã®èŠ³ç¹ããïŒæ¬çªç°å¢ã§ã®äœæ¥ã®æºåãã§ããŠããŸããããå¿ èŠãªåŠçã«ãã䜿çšã«ã¯é©ããŠããŸã1åãŸãã¯2åãæã¡äžãã浮浪è ã®ä»®æ³ã§äœããéå§ããŸãã
ãããã®åé¡ãçºçããå Žåãšçºçããªãå ŽåããããŸãã ãããã«ããããèªç¶ãã«ååšããããšã¯ããããã«åºäŒã£ã人ã ã«ãã£ãŠç¢ºèªãããããã§ãã ããªãã®ç°å¢ããããã®äººã ã䜿çšããç°å¢ã«ååè¿ãå Žåãããªãã¯æ¬¡ã®èšŒäººã«ãªãããã®æ£ããè»éã«ä¹ã£ãŠããŸãã
Dockerã§çºçããå¯èœæ§ã®ããææªã®äºæ ã¯ãéåžžããã¹ããã³ãã§ã®ãã¹ãäžã«ãã¹ãŠãæ£åžžã§ãããå®è£ åŸã«ãã¹ãŠã®å€æŽããã«ã¢ã³ãããŒã«ããã¯ã§ããªãå Žåã«åé¡ãçºçããå¯èœæ§ãããããšã§ãã ã
Coreos
CoreOSã¯ãã³ã³ããã®å®è¡æ¹æ³ã®ã¿ãç¥ã£ãŠããOSã§ãããã³ã³ããã®å®è¡å°çšã«èšèšãããŠããŸãã
ååã®èšäºã§ãDockerãæ£åžžã«äœ¿çšã§ããã·ã¹ãã ã¯CoreOSã®ã¿ã§ãããšçµè«ä»ããŸããã ãã®èšè¿°ã¯çå®ã§ããå Žåãšããã§ãªãå ŽåããããŸãã
CoreOSã䜿çšãããšããã¢ã€ãã¢ãæŸæ£ããŸããã
ãŸããDockerã®äž»ãªå©ç¹ã¯ãéçºç°å¢ãšå®çšŒåç°å¢ã®çµ±åã§ãã ã³ã³ããã®æäœå°çšã®æ¬çªç°å¢ã«å¥ã®OSãååšãããšããã®ç¹ã¯å®å šã«ç Žå£ãããŸãã
第äºã«ãDebianïŒç§ãã¡ã¯Debianã«åº§ã£ãŠããŸããïŒã2017幎ã®ç¬¬1ååæã«æ¬¡ã®ã¡ãžã£ãŒãªãªãŒã¹ãçºè¡šããŸããã çŸåšã®ã·ã¹ãã ãææ¡ãããã¹ãŠãCoreOSã«ç§»æ€ããã«ã¯ïŒæåãä¿èšŒããããšãªãïŒå€ãã®åŽåãèŠããããã次ã®DebianãªãªãŒã¹ãåŸ ã€ããšã決å®ããæ¹ãè³¢æã§ããã
CentOS / RHEL
CentOS / RHEL 6
CentOS / RHEL 6äžã®Docker-ãæ©èœããŸãããããŒã¿ãããªã¥ãŒã äžã§å®å šã«å€±ããããŸã§ããã¡ã€ã«ã·ã¹ãã ã«æ¢ç¥ã®åé¡ããããŸãã
- devicemapperãã©ã€ããŒã«é¢ããããŸããŸãªæ¢ç¥ã®åé¡ã
- devicemapperãšé£åããLVMããªã¥ãŒã ã®é倧ãªåé¡ãããŒã¿ã®ç Žæãã³ã³ãããŒã®ã¯ã©ãã·ã¥ãDockerããŒã¢ã³ã®ããªãŒãºã«ã€ãªãããããŒããªã»ãããå¿ èŠã§ãã
- ãã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã¯ãDockerããã±ãŒãžã¯ãµããŒããããŠããŸããã CentOS / RHEL 7ããã±ãŒãžã§ãªãªãŒã¹ãããããCentOS / RHEL 6ããã±ãŒãžã«ç§»æ€ïŒããã¯ããŒãïŒãããŠããªãé倧ãªãã°ä¿®æ£ãå€æ°ãããŸãã
ãŸã RHEL 6ã§äœæ¥ããŠãã倧äŒæ¥ã§Dockerã«åãæ¿ããå¯äžã®æ£ããæ¹æ³ã¯ããããè¡ããªãããšã§ãïŒ
CentOS / RHEL 7
æåã¯ããã©ã³ã3ã®ã³ã¢ã§äœæ¥ããRedHatã¯ãã©ã³ã4ã®ã³ã¢ããDockerãå®è¡ããããã«å¿ èŠãªæ©èœãããã¯ããŒãããŸããã
ããã«ãããDockerãã«ãŒãã«ã®ã«ã¹ã¿ã ããŒãžã§ã³ãšã«ãŒãã«å ã®å¿ èŠãªæ©èœã®ååšãæ£ããå€æã§ããªããããåé¡ãçºçããå ŽåããããŸãã ãã®çµæãDockerã¯æ£ããã·ã¹ãã èšå®ãèšå®ã§ãããäœåºŠãäœåºŠãã¯ã©ãã·ã¥ããŸãã ãããèµ·ãããã³ã«ãããã¯ç¹å®ã®å åã«ãã£ãŠç¹å®ã®ã«ãŒãã«ãæ€åºããä¿®æ£ãå ¬éããDockeréçºè èªèº«ã«ãã£ãŠã®ã¿è§£æ±ºã§ãããããã®ä¿®æ£ã®å€èŠ³ã¯æéçãŸãã¯äœç³»çã«ä¿èšŒãããŸããã
OSããŒãžã§ã³ã«å¿ããŠãLVMããªã¥ãŒã ã®äœ¿çšã«ã¯ããŸããŸãªåé¡ããããŸãã
ãããªããã°ãããã¯å¹žéãã©ããã§ãããããªãã«ãšã£ãŠã®çµæã¯ç§ãšã¯ç°ãªããããããŸããã
CentOS 7.0以éãRedHatã¯ããã€ãã®èšå®ãæšå¥šããŠããŸããããä»ã§ã¯Webãµã€ãã§ãã®ããŒãžãèŠã€ããããšãã§ããŸããã ãããã«ããããã以éã®ããŒãžã§ã³ã«ã¯å€ãã®éèŠãªä¿®æ£ããããããåžžã«ææ°ããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãããå¿ èŠããããŸãã
CentOS 7.2以éãRedHatã¯XFSã®ã¿ãæšå¥šããã³ãµããŒãããç¹å¥ãªæ§æãã©ã°ãèšå®ããŸãã AUFSã¯ãã¯ãååšãããOverlayFSã¯å ¬åŒã«ã¯äžå®å®ã§ãããšèŠãªãããBTRFSã¯ããŒã¿ã¹ããŒã¿ã¹ã§ãïŒãã¯ãããžãŒãã¬ãã¥ãŒïŒã
RedHatã®åŸæ¥å¡ã¯ãDockerãåäœããããã®é©åãªæ¡ä»¶ãäœæããããšã¯éåžžã«å°é£ã§ãããOpenShiftãœãªã¥ãŒã·ã§ã³ã®äžéšãšããŠDockerãå販ãããããããã¯æ·±å»ãªåé¡ã§ãã äžå®å®ãªã³ã¢ã§è£œåãäœã£ãŠã¿ãŠãã ããïŒ
ããªããç«ã§éã¶ã®ã奜ããªãããã®OSã¯ããªãã®ããã®ããã§ãïŒ
ããã¯ãCentOSã§ã¯ãªãRHELã䜿çšãããå Žåã«åœãŠã¯ãŸãããšã«æ³šæããŠãã ãããã¿ã€ã ãªãŒãªæŽæ°ãšæçšãªãµããŒããèªç±ã«å©çšã§ããããã§ãã
Debian
Debian 8 jessieïŒå®å®çïŒ
ééããåé¡ã®äž»ãªçç±ã¯ãåã®èšäºã§èª¬æããããã«ãæ¬çªç°å¢ã§DebianïŒå®å®çïŒã䜿çšããããšã§ãã
倧ãã£ã±ã«èšãã°ãDebianã¯Dockerãå¿ èŠãšãããã®ãäœããµããŒãããŠããªãããŒãžã§ã³ã§ã«ãŒãã«ãåçµããååšããããã€ãã®ã³ã³ããŒãã³ãã«ã¯ãšã©ãŒãå«ãŸããŠããŸãã
Debianäžã®Docker-æ·±å»ãªãæ©èœããŸãããAUFSãã©ã€ããŒïŒã ãã§ãªãïŒã«ã¯å€ãã®åé¡ããããéåžžã¯ãã¹ããã¯ã©ãã·ã¥ããããŒã¿ãç Žå£ããå¯èœæ§ããããŸããããã¯æ°·å±±ã®äžè§ã«ãããŸããã
Debian 8ã§Dockerã䜿çšããããšã¯ã100ïŒ èªæ®ºè¡çºã§ããããšãä¿èšŒãããŠãããæ°å¹Žåã«DockerãäœæãããŠä»¥æ¥ã§ãã 誰ããããä»æ¥ãŸã§èšé²ããããšããªããšæãã®ã¯ç§ã殺ããŸãã
ãããã®ããã«èœã¡ãAWSã€ã³ã¹ã¿ã³ã¹ã®ã°ã©ãã衚瀺ãããã£ãã®ã§ãããã¢ãã¿ãªã³ã°ãšã¬ã³ããªã³ã°ã«é©ããããŒã«ããªãããã代ããã«äŒŒããããªãã¢ãå³ãæäŸããŸãã
ãã¹ãã·ã¹ãã ã§ã®å
žåçãªDockerã«ã¹ã±ãŒãé害ã
ãã¹ãã·ã¹ãã ã§ã®å žåçãªDockerã«ã¹ã±ãŒãé害ïŒãã¹ãã¹ã¬ãŒãé害...次ã®ãã¹ãã§ã¯ã2åã§è² è·ãååŸããããšããŸã...ãŸãããã®ç¹å®ã®ã«ã¹ã±ãŒãã¯ãåé¡ãåé¿ããããã«6åè©Šè¡ããŸããã
ããããã¹ããèªåçã«åèµ·åããŠé害éç¥ãéä¿¡ããã«ã¯ãCloudWatchã§ã¢ã©ãŒã ãèšå®ããå¿ èŠããããŸãã
ã¡ãªã¿ã«ãCloudWatchã§ã¢ã©ãŒã ãèšå®ããŠã5å以äžåé¡ããã³ã°ã¢ãããããã³ã«ãæ¢æã®åé¡ã¬ããŒããã¬ã®ã¥ã¬ãŒã¿ãŒã«èªåçã«éä¿¡ããããšãã§ããŸãã
ç§ã¯èªæ ¢ããŸããããDockerãããŸããµããŒãããŸããã Chaos Monkeyãå¿ããŠãã ãããããã¯åäŸåãã®ã²ãŒã ã§ããDockerã§æ°ååãã«ãåŠçããååŒã·ã¹ãã ãç«ã¡äžããŠã¿ãŠãã ãã[1]ã
[1]ãããããªãã§ãã ããã ããã¯ã²ã©ãèãã§ãïŒ
Debian 9ã¹ãã¬ãã
Debianã¹ãã¬ããã¯2017幎ã«å®å®ããäºå®ã§ãïŒæ³šïŒãã®èšäºãæžããŠç·šéããŠããéã¯ãªãªãŒã¹ã«ãªãã¯ãã§ããïŒã
ããã«ã¯ã³ã¢4.10ãå«ãŸãããããŸã§ã«å ¬éãããLTSã®æåŸã§ããããšãå€æããŸããã
ãªãªãŒã¹æã«ã¯ãDebian Stretchã¯ææ°ã®å®å®ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãªããDockerã®å®è¡ã«å¿ èŠãªãã¹ãŠã®åªããæ©èœãåããŠãããšäž»åŒµããŸãïŒãã¡ãããDockerã®èŠä»¶ãå€æŽããããŸã§ïŒã
圌ã¯å€ãã®åé¡ã解決ã§ãã倧éã®æ°ããåé¡ãäœæã§ããŸãã ã©ãããŠ
Ubuntu
Ubuntuã¯åžžã«ãéåžžã®ãµãŒããŒãã£ã¹ããªãã¥ãŒã·ã§ã³ãããæ°ãããã®ã§ãã
æ®å¿µãªãããUbuntuã§åããŠããæ·±å»ãªäŒæ¥ã¯ç¥ããŸããã éçºè
ãã¢ããã¥ã¢ããã¬ãŒã¯ææ°ã®UbuntuïŒLTS [2]ããïŒã§ãã¹ãŠããã¹ããããããããã¯Dockeræ奜家ã®ã³ãã¥ããã£ã§å€§ããªèª€è§£ã®åå ãšãªã£ãŠããŸãããå®äžçïŒRHELãCentOSãDebianãŸãã¯ãããã®ãšããŸããã¯ãªUnix / BSD / Solarisã®äžéšïŒã
ãã®ãªãªãŒã¹ã䜿çšããŠããªããããLTS 16ã®ç¶æ³ã«ã€ããŠã³ã¡ã³ãããããšã¯ã§ããŸããã ããã¯ãOverlay2ãšZFSãå©çšã§ããå¯äžã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ããããã«ãããæ€èšŒã®ããã®ãªãã·ã§ã³ãããã€ãè¿œå ãããããããäœãæ©èœããã§ããããïŒ
LTS 14ã®ãªãªãŒã¹ã¯æçµçãªãé©åããªãããã®ã§ããå€ããããããå¿
èŠãªã³ã³ããŒãã³ãããããŸãã ã
[2] Ubuntuã®ææ°ããŒã¿çã䜿çšããããšãããã ããšã¢ããã€ã¹ãã人ã
ãããå€ãã®ã³ã¡ã³ããšéå奜çãªæçŽãåãåããŸããã ãã¹ãŠã®åäœäžã®ã·ã¹ãã ã®ç§»è¡ãé
åžãããã®å€æŽãããã³ãã¹ãæã«ããååšããªãã£ãããŒã¿ãã©ãããã©ãŒã ãžã®åãæ¿ãã¯ãåççãªãœãªã¥ãŒã·ã§ã³ã§ãã
æ確åïŒç§ãèšã£ãããã«ãç§ã¯Dockerã«æ»ããªãã®ã§ããªã³ã¯ãæ€çŽ¢ããŠåéããã®ã«1æéãè²»ããããã¯ãããŸããããç§ã¯ãããè¡ãå¿ èŠãããããã§ãã
ç§ã¯æããã«ã¢ããã¥ã¢ãªãŒã°ã«ããç·ããããªãrather蟱çãªæçŽãåãåã£ãã圌ã¯ãã©ããªéŠ¬é¹¿ã§ãUbuntuã§Dockerãå®è¡ã§ããããšæžããŠãããUbuntuã§Dockerãå®è¡ããããã«å¿ èŠãªãœãããŠã§ã¢ããã±ãŒãžãšé«åºŠãªã·ã¹ãã èšå®ã®äžèŠ§ã«é²ãããã ãã€ãŸã ããããã誰ã§ãGoogleã䜿çšããŠ5ç§ã§èŠã€ããããšãã§ããŸã ã ã
圌ã®ã¬ããŒãã¯ã ãã®ãã°ã¬ããŒãã«åºã¥ããŠããŸããããã¯ããUbuntu docker not workingãããã³ãUbuntu docker crashãã¯ãšãªã«é¢ããGoogleã§ã®æåã®çµæ ã§ããUbuntu16.04ã¯1.11.2ã§ãã³ã°ããŸã ã
2016幎6æã«å ¬éããããã®ãã°ã¬ããŒãã¯ã Dockerã®å®è¡ã«å¿ èŠãªäŸåé¢ä¿ã®äžéšãã€ã³ã¹ããŒã«ããªãããã Ubuntuã®ã€ã³ã¹ããŒã©ãŒã¯åã«ã¿ã¹ã¯ããŸã£ããå®è¡ããªãããšã匷調ããŠããŸãã #WONTFIXã¯Dockeréçºè ããã®ããããšã§ãã
Dockerã®åŸæ¥å¡ã¯5ãæåŸã«æåŸã®çããåºããUbuntuã®ã€ã³ã¹ããŒã©ãŒã¯æ±ºããŠä¿®æ£ãããªããšæžããŠããŸãããDockerã®æ¬¡ã®ã¡ãžã£ãŒããŒãžã§ã³ã¯ä»ã®ã³ã³ããŒãã³ãã䜿çšããå¯èœæ§ããããããåé¡èªäœããªããªãããšã¯ãããŸããã
æ°ããããŒãžã§ã³ïŒv1.13ïŒãæè¿ãªãªãŒã¹ãããŸãã-ãã®åçã®8ãæåŸ-åããšã©ãŒã衚瀺ããããã©ããã¯ãŸã 確èªãããŠããŸããããå€ãèšå®ãå£ããŠDockerèªäœã«æ°ããå€æŽãå«ãŸããŠããããšã¯ç¢ºãã§ãã
ãããŠãã®å ŽåãDockerã«æåŸ ã§ããããšãèæ¯ã«ããŠããŸãã 確èªã®ããã®ãã§ãã¯ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
- ãã¹ãŠãå£ããŠãããããDockerã¯ãŸã£ããæ©èœããŸãããïŒ ã¯ã ã
- 倧èŠæš¡ãªé åžãªã©ããã¹ãŠã®ãŠãŒã¶ãŒã«ãšã£ãŠåé¡ããããŸããïŒ ã¯ã ã
- åé¡ã®ååšã確èªããéçºè ããã®ã¿ã€ã ãªãŒãªå¿çããããŸããïŒ ããã ã
- 確èªã«ã¯ãåé¡ã®ååšã®ç¢ºèªãšãã®é倧床ã®è¡šç€ºãå«ãŸããŠããŸããïŒ ããã ã
- ä¿®æ£ã®äºå®ã¯ãããŸããïŒ ããã ã
- ããŸããŸãªã¬ãã«ã®å±éºãšè€éãã§åé¡ãåé¿ããæ¹æ³ã¯ãããããããŸããïŒ ã¯ã ã
- åé¡ã¯ä¿®æ£ãããŸããïŒ èª°ãç¥ã£ãŠãã ã
- ä¿®æ£ãçºçããå Žåãããã¯ããŒããããŸããïŒ çµ¶å¯Ÿã« ã
- ãææ°ããŒãžã§ã³ãžã®ã¢ããã°ã¬ãŒããã®ãã³ãã¯ããã¹ãŠã®åé¡å ±åã«å¯Ÿããæ®éçãªçãã§ããïŒ ãã¡ããã§ãã
AWSã³ã³ãããµãŒãã¹
AWSã«ã¯ãDockerãèµ·åããããã«ç¹å¥ã«æºåãããAMIããããŸãã Ubuntuã«åºã¥ããŠããŸãã
å éšãœãŒã¹ã«ãããšãAWSã«ã¯Dockerãå°ãªããšãäœããã®åœ¢ã§éåžžã«ããŸãæ©èœããããšãä¿èšŒããäžã§æ·±å»ãªåé¡ããããŸããã
ãã®çµæãAMIããªãªãŒã¹ããã«ã¹ã¿ã ãã°ä¿®æ£ãšã«ã¹ã¿ã ããã¯ããŒããåããã«ã¹ã¿ã Dockerããã±ãŒãžã§ã«ã¹ã¿ã OSãæ§ç¯ããŸããã ãããŠåæ¥åŸã圌ãã¯ãŸã å€ãã®åªåãè²»ããããã¹ãŠãé£æºãããããã®ç¶ç¶çãªãã¹ããè¡ã£ãŠããŸãã
Dockerã«ã¢ã¿ããããŠAWSã§äœæ¥ããŠããå Žåãå¯äžã®æãã¯ãAWSã®è©ã®äžã§åœŒãšå€§éšãããããšã§ãã
Googleã³ã³ãããµãŒãã¹
Googleã¯ã³ã³ããããµãŒãã¹ãšããŠæäŸããŠããŸãã Googleã¯åã«Dockerã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããã³ã³ãããŒã¯Googleã®å éšã³ã³ãããŒåãã¯ãããžãŒã§å®è¡ãããŸãããDockerå®è£ ã®ãã¹ãŠã®æ¬ ç¹ã«æ©ãŸãããããšã¯ãããŸããã
誀解ããªãã§ãã ããïŒ ã³ã³ããã¯æŠå¿µãšããŠã¯çŸãããã®ã§ãããåââé¡ã¯çè«äžã§ã¯ãªããå®çšçãªå®è£ ãšãå©çšå¯èœãªããŒã«ïŒã€ãŸããDockerïŒã«ãããŸãã
DockerïŒãŸãã¯ã³ã³ããïŒã§å®éã«ãã¬ã€ããããAWSã§åäœããªãå Žåã¯ãç¹ã«ãªãŒã±ã¹ãã¬ãŒã·ã§ã³çšã®Kubernetesãä»å±ããŠãããããGoogleãªãã·ã§ã³ãå¯äžã®ä¿¡é Œã§ããéžæè¢ã«ãªããŸãã
ãã®ãªãã·ã§ã³ã¯ãŸã å®éšçã§ãããšèããã¹ãã§ãããç«ã®ããã²ãŒã ãšèããã¹ãã§ãã ããŸããŸãGoogleã®ãœãªã¥ãŒã·ã§ã³ãä¿¡é Œã§ããå¯äžã®ãœãªã¥ãŒã·ã§ã³ã§ãããã³ã³ãããšãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®äž¡æ¹ãåæã«ååšããå¯äžã®ãœãªã¥ãŒã·ã§ã³ã§ããããšãããããŸããã
ãªãŒãã³ã·ãã
ç Žæããã³ã¢äžã§å®å®ãã補åãæ§ç¯ããããšã¯ã§ããŸããããRedHatã¯è©Šã¿ãŠããŸãã
ç§ãè¡ã£ãã¬ãã¥ãŒã®ãã¡ã圌ãã¯Dockerã®åé¡ã軜æžããããã«èŠåŽããŠãããããŸããŸãªçšåºŠã®æåãåããŠããŸãã ããªãã®å Žåãçµæã¯ç°ãªãå ŽåããããŸãã
åŸè ã®ãªãã·ã§ã³ã¯ã©ã¡ãã倱ããã®ããã倧äŒæ¥ã«çŠç¹ãåãããŠããããšãèãããšããã®ãããªéžæïŒã€ãŸããDockerã®äžã«æ§ç¯ããããã®ãéžæããããšïŒã®è³¢æããæ¬åœã«çããŸãã
ãéåžžã®ãã¯ã©ãŠãã䜿çšããããšããå§ãããŸãïŒAWSãGoogleããŸãã¯Azureã ä»®æ³ãã·ã³ã«å ããŠããµãŒãã¹ãããã€ããŒãæäŸãããµãŒãã¹ã䜿çšãããšãDockerã§ã§ããããšã®90ïŒ ãDockerã§ã§ããªãããšã®90ïŒ ããã©ã¹ãŸãã¯ãã€ãã¹ã«ãªããŸãã ãããæè¯ã®é·ææŠç¥ã§ãã
ã»ãšãã©ã®å Žåãããªãã®å ŽåãOpenShiftãèµ·åãããçç±ã¯ããããªãã¯ã¯ã©ãŠãã䜿çšã§ããªãããšã§ãã ãŸããããã¯ç®æšãžã®ããªãé£ããæ¹æ³ã§ãïŒ ïŒããã§å¹žéãããªãã®çµéšãã©ãã§ãã£ããã«ã€ããŠã³ã¡ã³ããæžããŠãã ããïŒ
åèš
- CentOS / RHELïŒãã·ã¢ã³ã«ãŒã¬ããã
- DebianïŒé£è¡æ©ãã裞ã§é£ã³åºããŸãã
- UbuntuïŒ
ããããªãä¿®æ£ïŒç¬ã CoreOSïŒåªåãã䟡å€ã¯ãããŸããã
- AWSã³ã³ããïŒDockerãšAWSãåæã«æ±ãå¿ èŠãããå Žåã®å¯äžã®æãã
- Google ContainersïŒDockerãèµ·åããå¯äžã®å®çšçãªæ¹æ³ã¯ãå®å šã«æ£æ°ã§ã¯ãããŸããã
- OpenShiftïŒããããŸããã ãµããŒããšãšã³ãžãã¢ãã©ãã ãããŸãåããã«ãã£ãŠç°ãªããŸãã
ããžãã¹ã®èŠç¹
Dockerã«ã¯ããžãã¹ã¢ãã«ããªããåçåã§ããŸããã å ¬å¹³ã«èšãã°ããã¹ãŠã®ãã©ãããã©ãŒã ïŒMac / Windowsãå«ãïŒã§ãªãªãŒã¹ãè¡ããå¿ æ»ã®è©Šã¿ã§ããããçš®é¡ã®æ©èœïŒSwarmïŒãçµ±åããŠããããšã¯èšãã«å€ããŸãã1ïŒç«¶åä»ç€Ÿã«ç¬ç¹ã®æ©èœãæãããªãããšã 2ïŒå šå¡ã«Dockerããã³DockerããŒã«ã䜿çšãããã 3ïŒã客æ§ã®ãšã³ã·ã¹ãã ãå®å šã«ç¶æããŸãã 4ïŒãã®éçšã§å€§éã®ãã¥ãŒã¹ãèšäºãåé¡ãçºè¡šããèªå€§å®£äŒãå¢ãããŸãã 5ïŒç¬èªã®åžå Žè©äŸ¡ãæ£åœåããã
ããã€ãã®è£œåãšåžå Žã§æ°Žå¹³ããã³åçŽã®äž¡æ¹ã«æé·ããããšã¯éåžžã«å°é£ã§ãïŒãã®ã¢ãããŒããåççãŸãã¯æç¶å¯èœãªããžãã¹ãœãªã¥ãŒã·ã§ã³ã§ãããã©ããã«é¢ä¿ãªããããã¯å¥ã®åŽé¢ã§ãïŒã
åæã«ã競åä»ç€Ÿãã€ãŸãAmazonãMicrosoftãGoogleãPivoââtalãRedHatã¯ããŸããŸãªæ¹æ³ã§ç«¶äºããã³ã³ããã§Dockerèªäœãããå€ãã®ãéã皌ããŸãããCoreOSã¯OSïŒCoreOSïŒãšç«¶åæè¡ã«åãçµãã§ããŸãã³ã³ããåïŒãã±ããïŒã
ãã®çµæãåªããç«åãæã€å€ãã®å€§èŠæš¡ãªåžå Žãã¬ãŒã€ãŒã¯ãDockerãšç©æ¥µçãã€æåºãšããŠç«¶äºããããšãç®æããŠããŸãã 圌ãã¯ãDockerã«ä»ã®èª°ããèªåèªèº«ã«ãã€ã³ããããããšã«ãŸã£ããé¢å¿ããããŸããã å人çã«ãéå£çã«ãã圌ãã¯Dockerãæ»ã«ã圌ãå¥ã®ãã®ã«çœ®ãæããããšã«èå³ãæã£ãŠããŸãã
ãããã³ã³ããæŠäºãšåŒã³ãŸãã ãããäœã«ã€ãªãããèŠãŠã¿ãŸãããã
çŸåšã¯GoogleããªãŒããŒã§ãããDockerã«åã£ãŠä»£ãããããã«äœ¿çšã§ãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ïŒ Kubernetes ïŒãæäŸã§ããã®ã¯åœŒãã ãã§ãã
ãããã«
Dockerã¯äžå®å®ã§ãããã¡ãã®ãããžã§ã¯ãã ãšèšããŸãããïŒ
ãã¡ããã説æãããŠããåé¡ã¯ååšããªãã£ãããŸãã¯ãã§ã«éå»ã«ãã£ããšèª°ããèšãã§ãããã ãããã¯éå»ã®ãã®ã§ã¯ãªãã åé¡ã¯éåžžã«é¢é£æ§ãé«ããéåžžã«çŸå®çã§ãã Dockerã¯é倧ãªãšã©ãŒã«æ©ãŸãããŠãããããã¯ãã¹ãŠã®äž»èŠãªãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã®äœ¿çšã«é©ãããé·å¹Žã«ããã£ãŠåžžã«å¹²æžãããšã©ãŒã§ããããã®äžéšã¯çŸåšã§ããªãååšããŠããŸãã
Googleã§ãDocker +ããŒãžã§ã³+ãã¡ã€ã«ã·ã¹ãã + OSãã®ç¹å®ã®çµã¿åããã®è¡ãæ¢ããšãéå»ã®ä»»æã®æç¹ã§ãDockerãçãŸããç¬éãŸã§ãå€ãã®åé¡ãžã®ãªã³ã¯ãèŠã€ãããŸãã äœããéåžžã«ææ¬çã§ãããããã«ã€ããŠèª°ãæžããŠããªãããšã¯è¬ã§ãïŒå®éãããã€ãã®èšäºããããåºåãšè¿ éãªäŸ¡å€å€æã®å¡ã®äžã§åã«å€±ãããããšãå€æããŸããïŒã ãã®ã¬ãã«ã®æåŸ ãšãã®ã¬ãã«ã®å€±æã䌎ãææ°ã®ãœãããŠã§ã¢ã¯MongoDBã§ããã
Dockerãçå£ã«ãéŠå°ŸããããããŠæéããããã«äœ¿çšãã人ã¯ãå°çäžã§èª°ãèŠã€ãããŸããã§ããã ãã®èšäºã§èšåããçµéšã¯ãDockerãäžçæžåœå匷ããåŸæ¥å¡ãäŒæ¥ã®è¡ã«ãã£ãŠåŸãããŸããããããŠã³ã¿ã€ã ã®1ç§ããšã«1,000ãã«ããããŸããã
ç§ãã¡ãèªåã®éã¡ãšä»ã®äººã®éã¡ããåŠã³ãããããç¹°ãè¿ããªãããšãé¡ã£ãŠããŸãã
äœå¹Žãåã«Dockerã䜿çšããå¿ èŠããããã©ããçåã«æã£ãŠããå Žå=>çãã¯ãããããæ®åœ±ããå¿ èŠã¯ãããŸããïŒãã§ãã ãããäžåžã«äŒããããšãã§ããŸãïŒä»æ¥ã§ãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããªããã°Dockerã®ã¡ãªããã¯ã»ãšãã©ãããŸãããããèªäœã¯éåžžã«å®éšçãªè³ªåã§ãïŒã
çŸåšDockerã䜿çšããå¿ èŠããããã©ããã«èå³ãããå ŽåããœãããŠã§ã¢ãå®è¡ããçŸåšã®æ¹æ³ã¯ããŸãæ©èœããŸãããäœæ¥ã®è³ªã«é¢ããŠæåŸ ããããŸã=>åççãªçã㯠ãRHEL 8ããã³Debian 10ããªãªãŒã¹ããããŸã§åŸ ã€ããšã§ããé転ããªãã§ãã ããã ç©äºã¯è§£æ±ºãããã¹ãã§ãããããã±ãŒãžã¯äœ¿çšããããã£ã¹ããªãã¥ãŒã·ã§ã³ãããéãéçºãããã¹ãã§ã¯ãããŸããã
ç«ã§éã¶ã®ã奜ããªæ¹ã¯ãGoogle Cloudã®Google Container Engineãã芧ãã ããã ééããªããªã¹ã¯ãé«ããèããããå©ç¹ãé«ãã
å€æ°ã®ãšã©ãŒã¬ããŒããã«ãŒãã«ãããã¯ã®ã¹ã¯ãªãŒã³ã·ã§ãããæ¥äžã®ã·ã¹ãã é害ã®å人çãªå³ãé¢é£ãããã©ãŒã©ã ã®æçš¿ãããã³ãã®ãããã¯ã«é¢ãããã©ã€ããŒããªäŒè©±ããªã³ã¯ãããšããã®èšäºã¯ããä¿¡é Œã§ããã§ããããïŒ ããããã
ãã®æ å ±ãåã³åéããã®ã«ããã«æ°çŸæéãè²»ããããã§ããïŒ ããã DockerãããTinderã§å€ãéããããã§ãã ããããªããDockerïŒ
次ã¯ïŒ
ç§ã«æ»ã£ãŠã ç§ã®ã³ã³ããããã³ã¯ã©ãŠã管çã¢ã¯ã·ã§ã³ãã©ã³ã«ã¯å€§ããªæ¬ é¥ããããŸããããã€ãã¯äŒæ¥ã§ã®å¹³åæ»åšæéã¯ãŸã é·ãé枬å®ãããŠããªãããã2017幎ã¯æ°ããå Žæã«èªããããšãã«å§ãŸããŸããã
æªããã¥ãŒã¹ïŒé²ããªããDockerãè¡ããŸããã æè¡é©æ°ã®ãã¥ãŒã¹ã¯ãããŸããã 座ã£ãŠèªåã®ä»äºãããŸãã
è¯ããã¥ãŒã¹ïŒäœååãã«ãã®äººãšãéã¶ãå¿ èŠã¯ãããŸãã...ç§ã¯å°ãªããšã3æ¡åããŠããããã§ãïŒ ããã§ãç§ã®ããµã³ãããã¯ã¹ãã¯ããã®ããã°ãèªãã§ãã人ã ã®äžéšãå«ããæ°çŸäžäººã®ã¢ã¡ãªã«äººã®å¹Žéãšé£æºããŸãã
確èªããŠãã ããïŒããªãã®å¹Žéã¯è¯ãæã«ãããŸãïŒ