Docker ãã£ããã³ã¯ãéçºè ã³ãã¥ããã£ã®ãªãŒããŒã§ãããããããã®åéã®å°éå®¶ã§ãããDocker ã®ç¥èãä»ã®äººãšå ±æããããšã«æ ç±ã泚ãã§ããŸãããFrom the Captain's Chairãã¯ããããã£ããã³ã詳ããèŠãŠã圌ããšãã®çµéšã«ã€ããŠè©³ããç¥ãããã°ã·ãªãŒãºã§ãã
æ¬æ¥ã¯ãWebéçºãšDevOpsã§10幎以äžã®å®åçµéšãæã€Dockerãã£ããã³å Œããã³ããšã³ãããã¯ãªãŒãã®ã¯ãªã¹ãã£ã€ã³ã»ãŽã§ã«ã³ãæ°ã«ã€ã³ã¿ãã¥ãŒããŸãã
Kristiyanã¯ReactãNext.jsã䜿ã£ãŠã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããŠããŸããAngularãVue.jsããããŠçŸä»£çãªããã³ããšã³ãã¢ãŒããã¯ãã£ã®èšèšãè¡ã£ãŠããŸããé·å¹Žã«ããããDockerã¯åœŒã®æ¥ã ã®æ¥åã®æ žãšãªããããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ããã¹ããå±éãäºæž¬å¯èœãªæ¹æ³ã§è¡ãå®çšçãªããŒã«ãšããŠäœ¿ãããŠããŸããÂ
圌ã¯ããã³ããšã³ãããŒã åãã®æ¬çªç°å¢å¯Ÿå¿Dockerã»ããã¢ããã«æ³šåããŠãããã¯ãªãŒã³ãªDockerãã¡ã€ã«ããã«ãã¹ããŒãžãã«ããç°å¢å šäœã§äžè²«ããŠåäœããCI/CDãã€ãã©ã€ã³ãªã©ãå«ã¿ãŸãã圌ã®ç ç©¶ã¯çè«çãªäŸã§ã¯ãªããå®éã®ãããžã§ã¯ããé·æçãªã¡ã³ããã³ã¹ã«åºã¥ããŠããŸãã
ã¯ãªã¹ãã£ã€ã³ã¯4åã®æè¡æžã®èè ã§ããããã®ãã¡ã®äžã€ããDocker for Front-end Developersãã§ãã圌ã¯ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã«ç©æ¥µçã«è²¢ç®ããŠãããReact.jsåãã®ã¬ã€ããå«ãè€æ°ã®å ¬åŒDockerã¬ã€ãã®å¶äœè ã§ããããŸããNode.jsãAngularãVue.jsãããã³é¢é£ããããã³ããšã³ãæè¡ã
å·çããªãŒãã³ãœãŒã¹ãè¬æŒãã¡ã³ã¿ãªã³ã°ãéããŠã圌ã¯éçºè ãDockerãããããçè§£ã§ããããæ¯æŽããŠããŸããåã« ä»çµã¿ã 説æããã ãã§ãªãã ãªã ç¹å®ã®ããæ¹ã§è¡ãããŠããã®ãã説æããŠããŸãã
Dockerãã£ããã³ãšããŠã圌ã®ç®æšã¯ããã³ããšã³ãéçºè ãšDevOpsããŒã ã®éã®ã®ã£ãããåããããšã§ãã
Dockerã«åããŠé¢ãã£ãçµç·¯ãæããŠããã ããŸãã?
æåã«Dockerã䜿ãå§ããã®ã¯ ããèªåã®ãã·ã³ã§åãããšããèšãèš³ã«ç²ããããã§ããDevOpsæ åœè ã¯å€ããªããæã£ãŠãã人ãã¡ãããã³ããšã³ããã¢ããªã±ãŒã·ã§ã³ã®åäœãããç¥ã£ãŠããŸããã§ãããåæã«ãç§ã¯Dockerãç¥ããŸããã§ããããããéä¿¡ãé£ããããåé¡ã®ãããã°ãé£ããããŸããã
ããã³ããšã³ãéçºè ãšããŠãæåã¯Dockerã«èå³ãæã€å¿ èŠã¯ãªããšæã£ãŠããŸãããããã¯DevOpsã®åé¡ã®ããã«æããŸããããããããããžã§ã¯ãã®ç«ã¡äžãããã©ãã§ãåãããã«åäœããããšåé¡ãç¶ããŠããŸãããDockerã¯ãã®åé¡ã解決ããç§ã®äœæ¥æ¹æ³ãå®å šã«å€ããŸããã
æåã¯Dockerãçè§£ãã«ããã£ãã§ããããã䜿ãã°äœ¿ãã»ã©ãç©äºãã©ãã»ã©ã·ã³ãã«ã«ãªã£ãŠãããã宿ããŸãããç§ã®ãããžã§ã¯ãã¯ç°å¢ããšã«åãããã«åãããããã®äžè²«æ§ãæéãšã¹ãã¬ã¹ã®ç¯çŽã«ã€ãªãããŸããã
æéãçµã€ã«ã€ããŠå¥œå¥å¿ã¯å¢ããããæ·±ãåŠã³ãŸãããããæ§é åãããæ¬çªç°å¢å¯Ÿå¿ã®Dockerãã¡ã€ã«ãèšèšãããã«ãããã©ãŒãã³ã¹ãæé©åããæç¢ºã§å®èšŒæžã¿ã®ãã¹ããã©ã¯ãã£ã¹ã«åŸã£ãŠDockerãCI/CDãã€ãã©ã€ã³ã«çµ±åããæ¹æ³ãåŠã³ãŸãããããã¯åã«åäœããã»ããã¢ããã ãã§ãªããé·æçã«ä¿¡é Œæ§ãé«ãä¿å®å¯èœãªãã®ã§ããããŸãã
ç§ã«ãšã£ãŠDockerã¯æ±ºããŠãã¬ã³ãã®ãã®ã§ã¯ãããŸããã§ãããããŒã éã®æ©æŠãæžãããåé¡ã®ç¹°ãè¿ããé¿ããããã«äœ¿ãå§ãããã以æ¥ãæ¥ã ã®ä»äºã®æ žãšãªãéšåãšãªã£ãŠããŸãã
Dockerãã£ããã³ã«ãªãããšæã£ããã£ããã¯äœã§ãã?
ç§ãDockerãã£ããã³ã«ãªããã£ãããšãªã£ãã®ã¯ãããã³ããšã³ãéçºè ãšããŠçŽé¢ããæ¬åœã®èŠåŽãå ±æããããšããæãã§ãããDockerã䜿ãå§ããåœåã¯ãèªç¥ãè©æžããæ±ããŠããããã§ã¯ãªãããã èªåã®è¶³ãåŒã£åŒµã£ãŠããåé¡ã解決ããããšããŠããã ãã§ãDevOpsã®çšèªãç¥ããªããã°ããªãããããä»çµã¿ãDevOpséçºè ã«èª¬æããã®ãé£ããã£ãã®ã§ããÂ
ãããžã§ã¯ãã®ç«ã¡äžããã©ãã»ã©ç²ãæãŠãç°å¢åé¡ã«åãçµãã§æ¬åœã®ããã³ãäœæ¥ã«æéãè²»ãããŠããããã¯ã£ããèŠããŠããŸããDockerã¯åŸã ã«ç§ã®éçºã¢ãããŒããå€ããããä¿¡é Œæ§ã®é«ãã¢ããªã±ãŒã·ã§ã³æ§ç¯ãšæäŸã®æ¹æ³ãæäŸããŠãããŸããã
ããæç¹ã§ããã®ç¶æ³ã«ããã®ã¯èªåã ãã§ã¯ãªããšæ°ã¥ããŸãããå€ãã®ããã³ããšã³ãéçºè ã¯ãDockerãããã¯ãšã³ããDevOpsãšã³ãžãã¢åãã ãšèããŠé¿ããŠããŸããããã®èŠç¹ãå€ããDockerãããã³ããšã³ãéçºè ã«ãšã£ãŠãå®çšçã§èŠªãã¿ãããååšã§ããããšã瀺ãããã£ãã®ã§ãã
ã ãããããç§ã¯ã Docker for Front-end Developersããšããæ¬ãæžããŸãããããã§ã¯ãDockerãããã³ããšã³ãã®èŠç¹ãã説æããå®éã®React.jsã¢ããªã±ãŒã·ã§ã³ã䜿ããã³ã³ããåãAWSãžã®ãããã€æ¹æ³ãå®è·µçãªã³ãŒãäŸãæç¢ºãªå³ã§è§£èª¬ããŠããŸããç®çã¯ãæ¯æ¥ãŠãŒã¶ãŒåãã®ã¢ããªã±ãŒã·ã§ã³ãäœã人ã ã«ãšã£ãŠDockerãçè§£ãããããæçšãªãã®ã«ããããšã§ããã
ãŸããå ¬åŒã®Dockerã¬ã€ããæäŸReact.jsè§åºŠããããVue.jsââãã¹ãŠã®çããæã£ãŠããããã§ã¯ãªããæç¢ºãªæéããªããšãã®é£ãããæãåºããããã§ãã
ç§ã«ãšã£ãŠãDockerãã£ããã³ã«ãªãããšã¯è©æžãã§ã¯ãããŸããã§ãããåžžã«åŠãã ããšãå ±æããããã³ããšã³ãéçºè ãšã³ã³ããåã®éã«æ¶ãæ©ãç¯ãã誰ãã®æ è·¯ãç§ããå°ãã§ã楜ã«ããããšæã£ãŠããŸãã
æ¥å¹Žã®å人çãªç®æšã¯äœã§ãã?
ããããã®1幎éã¯ãæ¬ãæžãç¶ããããšæã£ãŠããŸããæç« ãæžãããšã§èªåã®ç¥èãäœç³»åããæ±ãããŒããããæ·±ãæãäžããããšãã§ããä»ã®éçºè ã«ãåããããããªããŸãããŸãããã£ãšå€ãã®åŠäŒã§è¬æŒããããã«èªåã奮ãç«ããããã§ãã人åã§è©±ãããšã¯ç§ã«ãšã£ãŠèªç¶ãªããšã§ã¯ãããŸããããæé·ããããåºãèŽè¡ãšå®éã®å®è·µçãªçµéšãå ±æããçŽ æŽããã人ã ãšåºäŒãè¯ãæ¹æ³ã§ããä»åŸããªãŒãã³ãœãŒã¹ãããžã§ã¯ããžã®è²¢ç®ãç¶ããAngularãVue.jsãReact.jsåãã«æžããå ¬åŒDockerã¬ã€ãã®ç¶æãç¶ããäºå®ã§ãã人ã ã¯ãããã®ã¬ã€ããç©æ¥µçã«å©çšããŠããã®ã§ãæ£ç¢ºã§ææ°ã®ç¶æ ãä¿ã€ããšãç§ã«ãšã£ãŠéèŠã§ãããããšäžŠè¡ããŠãããã°ããã¥ãŒã¹ã¬ã¿ãŒã§ãæ¥ã ã®ä»äºããåŸãå®è·µçãªæŽå¯ãå ±æããŠãããŸãã
ããããªãããã¯ãããžãŒæ¥çã§åããŠãããã代ããã«äœãããŠããŸããã?
ããç§ãããã¯æ¥çã§åããŠããªããã°ãããããåŒè·å£«ã«ãªã£ãŠããã§ããããç§ã¯ æ³åŠéšã®åæ¥çã§ããæ³åŸãåŠã¶ããšã§åŒ·ãèŠåŸãšåé¡è§£æ±ºã«å¯Ÿããæ§é åãããã¢ãããŒãã身ã«ã€ããããã¯ä»ã§ãé Œãã«ãªã£ãŠããŸãããããæéãçµã€ã«ã€ããŠããã¯ãããžãŒã¯ç§ã«éã£ãçš®é¡ã®å 宿ãäžããŠãããããšã«æ°ã¥ããŸãããããã«ãã£ãŠãç©ãäœããå®è·µçãªè§£æ±ºçãäœãåºãã人ã ã«çŽæ¥çãã€ç®ã«èŠãã圱é¿ãäžããç¥èãå ±æããããšãã§ããŸããä»ã®ã©ããªãã®ã§ãåãæºè¶³æã¯åŸãããªããšæããŸããããã¯æ¥çã§ã¯ãæ¯æ¥åé¡ã解決ããã³ãŒããæžãããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã«è²¢ç®ããæ¬ãæžããåŠãã ããšãã³ãã¥ããã£ãšå ±æããŠããŸãããã®ææŠãåµé æ§ããããŠå®éã®åœ±é¿åã®çµã¿åããã¯ããªããªã代æ¿ã§ããŸãããæ³åŸã¯ç§ã®è·æ¥ã«ãªãããããããŸãããããã¯ãããžãŒãããç§ãæ¬åœã«å± å Žæãæããããå Žæã§ãã
Dockerã³ãã¥ããã£ãšã®ã³ã©ãã¬ãŒã·ã§ã³ã§æãåºã«æ®ãã¹ããŒãªãŒãå ±æã§ããŸãã?
Dockerã³ãã¥ããã£ã§ã®çµéšã®äžã§æãå°è±¡ã«æ®ã£ãŠããã®ã¯ããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ãã frontend prod-dockerfilesãå ¬éããããšã§ããããã¯ãå€ãã®äººæ°ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³åãã«æ¬çªç°å¢ã«å¯Ÿå¿ããDockerãã¡ã€ã«ãæäŸããŠããŸããããšããšã¯ãããã³ããšã³ãéçºè ãããæ§é åããæé©åãããDockerãã¡ã€ã«ã®æç¢ºã§ä¿¡é Œã§ããåç §ãæã£ãŠããªãã£ããšããã®ã£ãããåããããã«äœããŸããã
ã³ãã¥ããã£ããã®åå¿ã¯äºæ³ä»¥äžã§ãããäžçäžã®éçºè ã䜿ãå§ãããã£ãŒãããã¯ãå ±æããç§ãèããããªãã£ãã¢ã€ãã¢ãææ¡ããŠãããŸããã
ãã®çµéšã¯ãDockerã³ãã¥ããã£ã®ç¹å¥ãªãã®ââãªãŒãã³ããååããããŠãäºãã®æé·ãå©ãåãçæ¯ãªææ¬²ââã匷ãæãåºãããŠãããŸããã
ãã«ã³ã§ã®Docker Captains Conference(2025)ã¯çŽ æŽãããã£ãã§ããããã¯ããçµç¹ãããåºæ¿çã§ã倧ããªãšãã«ã®ãŒã«æºã¡ãŠããŸãããDockerã«åãæ ç±ãæã€çŽ æŽããã人ã ã«åºäŒããŸããã
çŸåšãæ°ã«å ¥ãã®Docker補åãæ©èœã¯äœã§ããããããŠãã®çç±ã¯äœã§ãã?
ä»ã®ãšãããç§ã®ãæ°ã«å ¥ãã®Dockeræ©èœã¯Docker OffloadãšDocker Model Runnerã§ãã
Offloadã¯ã²ãŒã ãã§ã³ãžã£ãŒã§ãéããã«ããGPUã¯ãŒã¯ããŒãããæ¢ã«äœ¿ã£ãŠããåãDocker CLI/ãã¹ã¯ããããããŒããçŽæ¥ã¯ã©ãŠããªãœãŒã¹ãå®å šãªã¯ã©ãŠãã«ç§»ããããã§ããããŒã«ã«ã§ã®äœæ¥æ¹æ³ãå€ããå¿ èŠã¯ãããŸããããå¿ èŠãªãšãã«ã¯ã©ãŠãèŠæš¡ã®é床ãåŸãããŸãã
Model Runnerã¯ãããŒã«ã«ã§ãªãŒãã³ã¢ãã«ãæ°åã§å®è¡ã§ããŸããããã«ãã¯ãŒãå¿ èŠãªãšãã¯ãOffloadãšçµã¿åãããŠGPUã«ã¹ã±ãŒã«ã¢ãŠãã§ããŸãã
æè¿è§£æ±ºããããªãããŒãªæè¡ç課é¡ã«ã€ããŠæããŠããã ããŸãã?
æè¿ç§ãçŽé¢ãã課é¡ã®äžã€ã¯ãAIã§çæãããDockerãã¡ã€ã«ã®ã¬ãã¥ãŒã§ãããå€ãã®éçºè ãç§ãã¡ã®äŒç€Ÿã§AIã䜿ãå§ããŠããŸããããããã«æ·±å»ãªåé¡ã«æ°ã¥ããŸãããç»åã倧ãããããããã£ãã·ã¥ãå£ããŠããããç°å¢å€æ°ãããŒãã³ãŒãã£ã³ã°ãããããã³ã³ãããrootã§åäœããŠããããšã§ããAIã圹ç«ã€äžæ¹ã§ãã»ãã¥ãªãã£ãããã©ãŒãã³ã¹ã«é¢ããŠã¯äŸç¶ãšããŠæ éã«èŠçŽãããã¹ããã©ã¯ãã£ã¹ãé©çšããå¿ èŠãããããšãæãåºãããŠãããŸããã
ãã¹ãŠã®éçºè ã«ç¥ã£ãŠãããŠã»ããDockerã®ãã³ãã¯äœã§ãã?
ãã¹ãŠã®éçºè ã«ç¥ã£ãŠã»ããã¢ããã€ã¹ã®äžã€ã¯ãDockerã¯DevOpsãããã¯ãšã³ãéçºè ã ãã§ãªã ããã¹ãŠã®äººã®ããã®ãã®ã ãšããããšã§ããããã³ããšã³ãéçºè ããDockerã䜿ã£ãŠäžè²«ããç°å¢ãäœããæ¬çªç°å¢ããªãªãŒã¹ããããŒã ãšããåæ»ã«ååããããšã§åãããã«æ©æµãåããããŸããããã¯åãªãã€ã³ãã©ã§ã¯ãªããã¹ã¿ãã¯å šäœã®çç£æ§åäžã§ããããŸããåºæ¬çãªç¥èãå¿ èŠãªæè¡è·ãéåžžã«å€ããå šäœçã«è¯ãè©äŸ¡ãåããŠããŸãã
å®ç掻ã§éæè¡çãªãªããžã§ã¯ããã³ã³ããåã§ãããšããããããã¯äœã§ããããããããŠãã®çç±ã¯äœã§ãã?
ããæè¡ä»¥å€ã®ç©ãã³ã³ããåã§ããããããã¯å¹žããªæ¥ã«ãªãã§ããããå®ç§ã«æ¥œããäžæ¥ãããã±ãŒãžåããå¿ èŠãªãšãã«åé 眮ãããç¡é§ãªæéãå£ããã«ãŒãã£ã³ããªãããã äžè²«ããŠç¹°ãè¿ãã§ãã幞çŠã®ãæ§ç¯ããç¶ããŠããã
ãªã³ã©ã€ã³ã§ã©ãã§ããªããèŠã€ããããŸãã?
LinkedInãx.comããããŠç§ã®ãŠã§ããµã€ãã§ããç§ã¯å®æçã« Medium ã§æè¡èšäºãå·çãããã¥ãŒã¹ã¬ã¿ãŒã Front-end Worldãã§æŽå¯ãå ±æããŠããŸããç§ã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã«ã¯ãããã³ããšã³ããã¬ãŒã ã¯ãŒã¯çšã®æ¬çªç°å¢å¯Ÿå¿ã®Dockerfileãå«ãŸããŠããã GitHubã§å©çšå¯èœã§ãã
ã©ããããã¡ã€ã¢ã®è³ªå
ç«ãç¬ã?
äž¡æ¹ã§ããç§ã¯åç©ã倧奜ãã§ãã
æå人éãå€å人éã?
ååŒ·ã¯æåãä»äºã¯å€åã
奜ããªãããšããé£ã¹ç©ã¯?
ãã¹ã¿ã
å人ãããªãã衚ãèšèãäžèšã§è¡šçŸããŸãã?
æç¶ç
æè¿å§ããè¶£å³ã¯?
ãã€ãã³ã°ãèªç¶ã倧奜ãã§ã