æè¿ã§ã¯ãã»ãŒãã¹ãŠã®ãã¯ãããžãŒäŒæ¥ãAIãèªç€Ÿã®ã¢ããªãã¯ãŒã¯ãããŒã«çµ±åããæ¹æ³ã暡玢ããŠããŸãããDockerãäŸå€ã§ã¯ãããŸããã圌ãã¯ãããã€ãã®å°è±¡çãªAIæ©èœã補åå šäœã«å±éããŠããŸããããã¯Dockerãã£ããã³ãšããŠã®ç§ã®æåã®æçš¿ã§ããããã®æçš¿ã§ã¯ãç§ã®æèŠã§ã¯ããŸã泚ç®ãããŠããªãæ©èœãã€ãŸãDocker DesktopãšCLIã«çµã¿èŸŒãŸããŠãã Dockerã®AIãšãŒãžã§ã³ãGordon (Docker AIãšãåŒã°ããŸã)ã«ã¹ãããã©ã€ããåœãŠãããšæããŸãã
Gordonã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããåã«é¢ããŠéåžžã«åœ¹ç«ã¡ãŸããã¢ããªãã³ã³ãããšããŠããã±ãŒãžåããæ¹æ³ãçè§£ããã®ã«åœ¹ç«ã€ã ãã§ãªããäŸåé¢ä¿ãã©ã³ã¿ã€ã èšå®ãããã³éçºè ã®æ¥åžžçãªèªç¥è² è·ã«è¿œå ããããã®ä»ã®èŠçŽ ãææ¡ãããªãŒããŒããããåæžããŸããäžçªã®é åã¯?ãŽãŒãã³ã¯ããã è¿çã§ããªããå°ãã ãã§ã¯ãããŸããããŸããå¿ èŠãªãã¡ã€ã«ãçæãŸãã¯æŽæ°ããããšãã§ããŸãã
åé¡:ã¢ããªã®ã³ã³ããåãšã³ã³ããã®æé©åã¯å¿ ãããç°¡åã§ã¯ãããŸãã
ã¢ããªã®ã³ã³ããåã¯ãäœæ¥å 容ã«ãã£ãŠãéåžžã«åçŽãªãã®ããå°ãé£ãããã®ãŸã§ããŸããŸã§ããã¢ããªã« Node.jsãPythonã.NET Core ãªã©ã® 1 ã€ã®ã©ã³ã¿ã€ã ãããã äŸåé¢ä¿ãæç¢ºã«å®çŸ© ããã å€éšãµãŒãã¹ããªãå Žåãç°¡åã«å®è¡ã§ããŸãã
åºæ¬çãªDockerfileã䜿çšãããšãéåžžãããã»ã©æéããããã«çšŒåãããããšãã§ããŸããããã ãããã¯ãšã³ããããã³ããšã³ããããŒã¿ããŒã¹ããã£ãã·ã³ã°ã¬ã€ã€ãŒãªã©ãè€éããå¢ãå§ãããšããã«ãã³ã³ããã¢ããªãå¿ èŠã«ãªããŸãããã®æç¹ã§ã远å ã® Dockerfile æ§æãšãå Žåã«ãã£ãŠã¯ Docker Compose ã»ããã¢ãããæ±ã£ãŠããå¯èœæ§ããããŸãããããããç©äºãé²ããã®ãé£ãããªãå§ããããšããããŸãã
ããããŽãŒãã³ã®èŒãã§ããã¢ããªã®ã³ã³ããåã«åœ¹ç«ã¡ããã«ããµãŒãã¹ã®ã³ã³ããã¢ããªã®ã»ããã¢ãããåŠçã§ããå¿ èŠãªãã®ãã¬ã€ãããDockerfilesãdocker-composeãªã©ã®ãµããŒãæ§æãã¡ã€ã«ãçæããŠäœæ¥ãé²ããããšãã§ããŸãã
ã³ã³ããã®æé©åãé çã®çš®ã«ãªãå¯èœæ§ããããŸã
ã³ã³ããåã ãã§ãªããããã©ãŒãã³ã¹ãã»ãã¥ãªãã£ãã€ã¡ãŒãžãµã€ãºã«ã€ããŠã ã³ã³ãããæé©åãã å¿ èŠããããŸãããããŠãããã«çŽé¢ããŸããããæé©åã¯é¢åãªå ŽåããããŸãã䜿çšããããŒã¹ç»åãã¹ãªã åããæ¹æ³ãäžèŠãªã¬ã€ã€ãŒãé¿ããæ¹æ³ãªã©ãç¥ãå¿ èŠããããŸãã
ãŽãŒãã³ã¯ããã§ãå©ããããšãã§ããŸããæé©åã®ææ¡ãæäŸãããã«ãã¹ããŒãž ãã«ããéçºäŸåé¢ä¿ã®åé€ãªã©ã®ãã¹ã ãã©ã¯ãã£ã¹ãé©çšããæ¹æ³ã瀺ããããç¡é§ã®ãªããããå®å šãªã€ã¡ãŒãžãäœæããã®ã«åœ¹ç«ã¡ãŸãã
ãªãæ±çšã®ãžã§ãã¬ãŒãã£ãAIã䜿ããªãã®ã?
確ãã«ãChatGPTãClaudeãGeminiãªã©ã®æ±çšAIããŒã«ã¯çŽ æŽããããç§ã¯ãããã宿çã«äœ¿çšããŠããŸããããããã³ã³ããã«é¢ããŠã¯ãæ£ç¢ºã§å¹ççãªæ¯æŽã«å¿
èŠãª ã³ã³ããã¹ããäžè¶³ããŠãã å¯èœæ§ããããŸããäžæ¹ãGordon㯠Dockerå°çšã«æ§ç¯ãããŠããŸããDocker ã®ãšã³ã·ã¹ãã ã«ã¢ã¯ã»ã¹ã§ããDocker ã®ããã¥ã¡ã³ãããã¹ã ãã©ã¯ãã£ã¹ãDocker ããŒã«ã®ãã¥ã¢ã³ã¹ã«ã€ããŠãã¬ãŒãã³ã°ãåããŠããŸããã€ãŸãããã®æšå¥šäºé
ã¯æ£ç¢ºã§ãææ°ã®åºæºã«æºæ ããŠããå¯èœæ§ãé«ããªããŸãã
ãŽãŒãã³ã®ãŠã©ãŒã¯ã¹ã«ãŒ
Gordonã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããåãã³ã³ããã®æé©åãªã©ãæ¯æŽããŸãããŽãŒãã³ã¯ãŸã ããŒã¿æ©èœã§ããGordonã®äœ¿çšãéå§ããã«ã¯ãDocker DesktopããŒãžã§ã³( 4)ãå¿ èŠã§ãã38 以éãGordonã¯å€§èŠæš¡èšèªã¢ãã«(LLM)ãæèŒããŠãããããã³ãããšã¬ã¹ãã³ã¹ãè¶ ããŠãAIãšãŒãžã§ã³ããšããŠç¹å®ã®ã¿ã¹ã¯ãå®è¡ã§ããŸããGordon ã¯ãèš±å¯ãäžãããšãããŒã«ã« ãã¡ã€ã«ãšããŒã«ã« ã€ã¡ãŒãžã«ã¢ã¯ã»ã¹ã§ããŸããã¿ã¹ã¯ã«å¿ èŠãªå Žåã¯ãã¢ã¯ã»ã¹ãæ±ããããŸãã
ãã®æçš¿ã§ç€ºãäŸã¯ã1ã€ã®äœæ¥ã»ãã·ã§ã³ã«åºã¥ããŠããããšã«æ³šæããŠãã ãããããã§ã¯ããŽãŒãã³ã®æ¢çŽ¢ãå§ããŸãããã
Gordon / Docker AIã®æå¹å
Gordonããªã³ã«ããã«ã¯ã次ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«ã Settings > Beta features ã«ç§»åãã Enable Docker AI ããã¯ã¹ããªã³ã«ããŸãã
å³ 1:ããŒã¿æ©èœã§DockerAIãæå¹ã«ããå Žæã®ã¹ã¯ãªãŒã³ã·ã§ãã
æ¡ä»¶ã«åæããŸããDocker Desktop ã® AI ã«ã¯ 2 ã€ã®åœ¢åŒããããŸããæåã®ãã®ã¯Dockerãã¹ã¯ãããUIãä»ããŠè¡ãããGordonãšããŠç¥ãããŠããŸãã2 çªç®ã®ãªãã·ã§ã³ã¯ Docker AI ã§ããDocker AI ã«ã¯ãDocker CLI ã䜿çšããŠã¢ã¯ã»ã¹ããŸããã¢ã¯ãã£ãåããæ¹æ³ã¯ãCLI ã« Docker AI ãšå
¥åããããšã§ããããã«ã€ããŠã¯ããã®ããã°èšäºã®åŸåã§èª¬æããŸãã Â
å³ 2: Docker AI ã®å©çšèŠçŽã«åæãããã€ã¢ãã° ããã¯ã¹ã®ã¹ã¯ãªãŒã³ã·ã§ãã
Docker Desktop ã§ã® Gordon ã®æ¢çŽ¢
ããã§ãGordonãDockerãã¹ã¯ãããUIã«è¡šç€ºãããŸããããã§ã¯ãä»ã®ãžã§ãã¬ãŒãã£ãAIããŒã«ãšåãããã«ããã³ãããåºãããšãã§ããŸããGordon ã«ã¯ãäœæ¥ãéå§ããããã«äœ¿çšã§ããäŸããããŸãã
Docker Desktop å šäœã§ Gordon ã«ã¢ã¯ã»ã¹ããã«ã¯ã次ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã« AI ã¢ã€ã³ã³ãã¯ãªãã¯ããŸãã
å³ 3:Gordonã®AIã¢ã€ã³ã³ã瀺ãDockerDesktopã€ã³ã¿ãŒãã§ã€ã¹ã®ã¹ã¯ãªãŒã³ã·ã§ãã
AIã¢ã€ã³ã³ãã¯ãªãã¯ãããšã次ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«ãGordonããã³ããããã¯ã¹ãææ¡ãããããã³ãããšãšãã«è¡šç€ºãããŸããææ¡ã¯ãAIãé£ã«ãããªããžã§ã¯ãã«åºã¥ããŠå€åããã³ã³ããã¹ããèªèããŸãã
å³ 4: Docker Desktop UI ã® Gordon ã®ææ¡ããã³ãã ããã¯ã¹ã瀺ãã¹ã¯ãªãŒã³ã·ã§ãã
ããã¯ãDocker Desktopã®ã©ã®é åã«ãããã«åºã¥ããŠã³ã³ããã¹ããèªèããDocker AIã®ææ¡ã®å¥ã®äŸã§ããÂ
Â å³ 5:Docker AIã³ã³ããã¹ãåºæã®ææ¡ã瀺ãã¹ã¯ãªãŒã³ã·ã§ããÂ
Gordon ã®ãã 1 ã€ã®äžè¬çãªäœ¿çšäŸã¯ãããŒã«ã«ç»åãäžèŠ§è¡šç€ºããAI ã䜿çšããŠããããæäœããããšã§ããããã¯ã次ã®äžé£ã®ã¹ã¯ãªãŒã³ã·ã§ããã§ç¢ºèªã§ããŸããGordonã¯ãããŒã«ã«ç»åã衚瀺ããåã«èš±å¯ãæ±ããããšã«æ³šæããŠãã ããã
å³ 6:ãŽãŒãã³ãããŒã«ã«ç»åãåç
§ããŠããã¹ã¯ãªãŒã³ã·ã§ããÂ
ãŸããGordon ã«ã¢ã¯ã·ã§ã³ãå®è¡ããããã«ä¿ãããšãã§ããŸããæ¬¡ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«ãç§ã¯ãŽãŒãã³ã«ç§ã®ã€ã¡ãŒãžã®1ã€ãå®è¡ããããã«é Œã¿ãŸããã
å³ 7: Gordon ããã³ããã瀺ãã¹ã¯ãªãŒã³ã·ã§ããÂ
ã¢ã¯ã·ã§ã³ãå®è¡ã§ããªãå Žåã¯ãããªããå©ããããšããŸããÂ
å³ 8: 倱æããèŠæ±ã«å¯Ÿãã Gordon ã®ããã³ããå¿çã瀺ãã¹ã¯ãªãŒã³ã·ã§ããÂ
Gordon ã®ãã 1 ã€ã®åªããäœ¿çšæ³ã¯ãã³ã³ãã㌠ã€ã¡ãŒãžã説æããããšã§ãããããæ±ãããšã次ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«ãGordonã¯Dockerfileããããã£ã¬ã¯ããªãšããã«ã¢ã¯ã»ã¹ããããã®ã¢ã¯ã»ã¹èš±å¯ãéžæããããã«æ±ããŸãã
å³ 9: ç¹å®ã®ãã£ã¬ã¯ã㪠ã¢ã¯ã»ã¹ã«å¯Ÿãã Gordon ã®èŠæ±ã瀺ãã¹ã¯ãªãŒã³ã·ã§ããÂ
Dockerfile ããããã£ã¬ã¯ããªãžã®ã¢ã¯ã»ã¹æš©ãä»äžãããšãDockerfile ã®å
容ãåé¡ãããŸããÂ
å³ 10: Dockerfile ã®èª¬æã«å¯Ÿãã Gordon ã®å¿çã瀺ãã¹ã¯ãªãŒã³ã·ã§ããÂ
次ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«ãDockerfile ã®å
容ã衚瀺ããããã« Gordon ã«æ±ããããã³ããããã©ããŒã¢ããããŸãããæ¬¡ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«ããã®å
容ã説æããã®ã«è¯ãä»äºãããŸããã
å³ 11:Dockerfileã®å
容ã«é¢ããGordonã®å¿çã瀺ãã¹ã¯ãªãŒã³ã·ã§ãã
Docker Desktop CLI ã§ã® Gordon ã®æ¢çŽ¢
CLIã§Gordonãç°¡åã«èŠãŠã¿ãŸããããGordon ã¯ãCLI ã§ã¯ Docker AI ãšåŒã°ããŸããDocker AI ã䜿çšããã«ã¯ã次ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã« Docker CLI ãèµ·åããå¿
èŠããããŸããÂ
å³ 12:CLIããDocker AIãèµ·åããæ¹æ³ã瀺ãã¹ã¯ãªãŒã³ã·ã§ããÂ
CLIã§ãdocker aiããšå
¥åãããšããã£ãããšã¯ã¹ããªãšã³ã¹ã«ç§»åããGordonã«ããã³ãããéä¿¡ã§ããŸããç§ã®äŸã§ã¯ããŽãŒãã³ã«ç§ã®å°å
ã®ç»åã®1ã€ã«ã€ããŠå°ããŸãããç§ã«èš±å¯ãæ±ããããšãããããŸããÂ
å³ 13: Docker CLI ã®ã¢ã¯ã»ã¹èŠæ±ã瀺ãã¹ã¯ãªãŒã³ã·ã§ãã
次ã«ã次ã®ã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«ãDocker AIã«ãã¹ãŠã®ããŒã«ã«ã€ã¡ãŒãžãäžèŠ§è¡šç€ºããããã«äŸé ŒããŸãããÂ
å³ 14: ããŒã«ã« ã€ã¡ãŒãžã衚瀺ããããã® Docker CLI ã®å¿çã瀺ãã¹ã¯ãªãŒã³ã·ã§ããÂ
次ã«ãDocker AIã䜿çšããŠã€ã¡ãŒãžããã«ãããã¹ããè¡ããŸãããæ¬¡ã®ã¹ã¯ãªãŒã³ã·ã§ããã§ãããããã«ãGordonã¯ç§ã®ããã«nodeJSã€ã¡ãŒãžãåŒã£åŒµã£ãŠããŸãã!
å³ 15:DockerCLIãnodeJSã€ã¡ãŒãžããã«ããŠããã¹ã¯ãªãŒã³ã·ã§ãã
Gordon ã䜿çšããã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããå
次ã«ãGordon ã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãã³ã³ãããŒåãããšã¯ã¹ããªãšã³ã¹ãæ¢ã£ãŠã¿ãŸãããã
ãŸããã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããåã®äŸãã¯ãªãã¯ããŠãã ãããæ¬¡ã«ãGordonã¯ãã¢ããªã±ãŒã·ã§ã³ã³ãŒãããããã£ã¬ã¯ããªãæå®ããããã«æ±ããŸãããÂ
å³ 16: ã¢ããªã±ãŒã·ã§ã³ãã³ã³ããåããããã«ãã£ã¬ã¯ããªãžã®ã¢ã¯ã»ã¹ãæå¹ã«ããå Žæã瀺ãã¹ã¯ãªãŒã³ã·ã§ããÂ
ç§ã¯ãããç§ã®ã¢ããªãã£ã¬ã¯ããªã«åããèš±å¯ãäžããŸããããã®åŸãã¢ããªã®åæãšã³ã³ããåãå§ãŸããŸãããããã¯èšèªãæŸãäžããç§ã®ã¢ããªã®READMEãã¡ã€ã«ãèªã¿å§ããŸããã
å³ 17: Gordon ãã¢ããªã®åæãšã³ã³ããåãéå§ããã¹ã¯ãªãŒã³ã·ã§ããÂ
ã¢ããªã JavaScript ã§èšè¿°ãããããã±ãŒãžãšäŸåé¢ä¿ãéããŠåŠçãããããšãããããŸãã
å³ 18: Gordon åŠçã®æçµã¹ãããã瀺ãã¹ã¯ãªãŒã³ã·ã§ãã
Gordonã¯ãç§ã®ã¢ããªã«ããã¯ãšã³ããããã³ããšã³ããããŒã¿ããŒã¹ãããããšãçè§£ããŠããããã®ããšããDockeräœæãã¡ã€ã«ãå¿
èŠã§ããããšãç¥ã£ãŠããŸãã
å³ 19: Dockerfile ãå®äºããããã®æé ãæ£åžžã«å®äºããããšã瀺ãã¹ã¯ãªãŒã³ã·ã§ãã
次ã®ã¹ã¯ãªãŒã³ã·ã§ãããããã¢ããªã«å¿
èŠãª Docker é¢é£ãã¡ã€ã«ã確èªã§ããŸãããŽãŒãã³ã¯ããããã¹ãŠãäœæããŸããã
å³ 20:Gordonããçæããããã¡ã€ã«ã瀺ãã¹ã¯ãªãŒã³ã·ã§ããÂ
Gordonã¯Dockerfile(å·ŠåŽ)ãšCompose yamlãã¡ã€ã«(å³åŽ)ãäœæãããã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯Postgres DBãå¿ èŠã§ããããšã«ãæ°ã¥ããŸããã
å³ 21: Gordon ããçæããã Dockerfile ãš Compose yaml ãã¡ã€ã«ã瀺ãã¹ã¯ãªãŒã³ã·ã§ãã
次ã«ãããã«äžæ©é²ãã§ãããã®ã¢ããªã±ãŒã·ã§ã³ã compose ã§ãã«ãããŠå®è¡ã§ããŸãã?ããšããããã³ããã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããããã«ãããŠå®è¡ããããã« Gordon ã«äŸé ŒããŸãããDocker Compose ãã¡ã€ã«ãäœæããã€ã¡ãŒãžããã«ãããã³ã³ãããå®è¡ããŸããã
å³ 22:Gordonã®å®æããã³ã³ããã瀺ãã¹ã¯ãªãŒã³ã·ã§ãã
çµè«
Dockerã«é¢ããæçšãªæŽå¯ãåŸãŠãDockerDesktopã§ããŸãç¥ãããŠããªãAIæ©èœã®1ã€ãèŠã€ããããšãé¡ã£ãŠããŸããGordon ãšã¯äœããChatGPTãClaudeãGemini ãªã©ã®æ±çšçæ AI ããŒã«ãšã®æ¯èŒãæ¢ããã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããåãããŒã«ã« ã€ã¡ãŒãžã®æäœãªã©ã®ãŠãŒã¹ã±ãŒã¹ã«ã€ããŠèª¬æããŸããããŸããGordonãã³ã³ãããæ±ãéçºè ãITãããã§ãã·ã§ãã«ãã©ã®ããã«ãµããŒãã§ãããã«ã€ããŠãè§ŠããŸããããŸã è¡ã£ãŠããªãå Žåã¯ãGordon ãæå¹ã«ããŠãã¹ãå®è¡ããããšããå§ãããŸããèªãã§ãããŠããããšãããããŠè¿æ¥å ¬éäºå®ã®ããã°æçš¿ã«ãæåŸ ãã ããã