ç§ãã¡ã¯æè¿ãæ°ããåèããã Docker MCPã«ã¿ãã° ããªãªãŒã¹ããæ€åºãæ¹åãããæ°ããæåºããã»ã¹ã远å ãããŸãããã³ã³ããåãããMCPãµãŒããŒã¯ ããšãŒãžã§ã³ãã¢ããªã±ãŒã·ã§ã³ãå®å šã«å®è¡ããã³æ¡åŒµããæ¹æ³ãæäŸãããã¹ãã¢ã¯ã»ã¹ãšã·ãŒã¯ã¬ãã管çã«é¢é£ãããªã¹ã¯ãæå°éã«æããŸããéçºè ã¯ãå®å šãªã»ãã¥ãªãã£ã¹ã€ãŒã(眲åãSBOMãèªèšŒãé£ç¶ã¹ãã£ã³)ãå«ãDockerãã«ããµãŒããŒãšãéçºè ãç¬èªã®Dockerã€ã¡ãŒãžã䜿çšããŠæ§ç¯ããã³ä¿å®ããã³ãã¥ããã£ãã«ããµãŒããŒã®2ã€ã®æ¹æ³ã§ãµãŒããŒãéä¿¡ã§ããŸãã
ãã®ããã°ã§ã¯ãMCP ãµãŒããŒã®èšèšããã¹ããããã³æåºçšã®ããã±ãŒãžåã«é¢ãã 5 MCP ãµãŒããŒã®ãã¹ã ãã©ã¯ãã£ã¹ãå ±æããŸãããããã®æšå¥šäºé ã¯ãDocker MCP ã«ã¿ãã°çšã« 100 ãè¶ ãã MCP ãµãŒããŒãæ§ç¯ããéçºè ãæ¯æŽããçµéšã«åºã¥ããŠããŸããæåºããã»ã¹ãåçåãã 20 00äžäººä»¥äžã®Dockeréçºè ã«ãªãŒããããšãŒãžã§ã³ããšãããã䜿çšããéçºè ã®äž¡æ¹ã«çã®ãŠãŒãã£ãªãã£ãæäŸããã®ã«åœ¹ç«ã¡ãŸãã
1ããšãŒãžã§ã³ãã®ããŒã«äºç®ãæå³çã«ç®¡çãã
ãããŒã«äºç®ãã¯ããšãŒãžã§ã³ãã广çã«åŠçã§ããããŒã«ã®æ°ã衚ã瀟å çšèªã§ããä»ã®äºç®ãšåæ§ã«ãäºç®ãé©åã«ç®¡çããããšã¯ãåªãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®éµã§ããMCPãµãŒããŒã®äœæè ãšããŠãæäŸããããããŒã«ãšã¯ããµãŒããŒãããè€éã§äœ¿çšã³ã¹ãããããããŠãŒã¶ãŒãé ãããå¯èœæ§ãããããšãèæ ®ããããšãéèŠã§ããäžéšã® AI ãšãŒãžã§ã³ãã§ã¯ããŠãŒã¶ãŒãããŒã«ãéžæçã«æå¹ã«ã§ããããã«ãªãããšã¯ã¹ããªãšã³ã¹ã®åçåã«åœ¹ç«ãŠãããããã«ãªããŸãããããããããè¯ãæŠç¥ã¯ãæç¢ºãªãŠãŒã¹ã±ãŒã¹ãäžå¿ã«ããŒã«ã»ãããèšèšãããã¹ãŠã®APIãšã³ããã€ã³ããå¥ã ã®ããŒã«ã«ãããã³ã°ããªãããã«ããããšã§ãã
ããšãã°ãAPI ã«ã¢ã¯ã»ã¹ããããã® MCP ãµãŒããŒãäœæããå ŽåãAPI ã®ãšã³ããã€ã³ãããšã« 1 ã€ã®ããŒã«ãäœæããããšæããããããŸãããããã¯ããã«å§ããæ¹æ³ã§ãããå€ãã®å ŽåãããŒã«ã»ãããéè² è·ã«ãªããå°å ¥ã劚ããããŸãã
ã§ã¯ããšã³ããã€ã³ãããšã« 1 ã€ã®ããŒã«ãçæ³çã§ãªãå Žåãããåªãã MCP ãµãŒããŒãã©ã®ããã«èšèšããã°ããã®ã§ããããã
ããã§ãMCP ãµãŒãã®ããã³ããã®åºçªã§ãããã¯ãã®ããã«èããŠãã ããããŠãŒã¶ãŒã«è€æ°ã®ããŒã«ãåŒã³åºãããã«èŠæ±ãã代ããã«ãè€æ°ã®ããŒã«ãŸãã¯ãšã³ããã€ã³ãåŒã³åºããããã¯ã°ã©ãŠã³ãã§ãã§ãŒã³ãã 1 ã€ã®ããã³ãããäœæã§ããŸããããã«ããããŠãŒã¶ãŒã¯ãšãŒãžã§ã³ãã«ããŠãŒã¶ãŒã®è«æ±æžãååŸããŠãã ããããšäŸé Œããã ãã§ããšãŒãžã§ã³ãã¯ãªãŒããŒãããããããããšãªã 2 ã€ãŸã㯠3 ã€ã®ããŒã«ãåŒã³åºããŠãè€éããå éšã§åŠçã§ããŸãã
2ãããŒã«ã®ãšã³ããŠãŒã¶ãŒã¯ãšãŒãžã§ã³ã/LLM
èŠèœãšãããã¡ãªéèŠãªãã€ã³ãã® 1 ã€ã¯ãããŒã«ãå®éã«äœ¿çšããã®ã¯ããšã³ããŠãŒã¶ãŒã§ã¯ãªãããšãŒãžã§ã³ããŸã㯠LLM ã§ãããšããããšã§ãããŠãŒã¶ãŒã¯ããŒã«ãæå¹ã«ããŸããããšãŒãžã§ã³ããåŒã³åºãã®ã¯ããŒã«ã§ãããªããããéèŠãªã®ã§ãããã?MCP ãµãŒããŒãæ§ç¯ããå ŽåããŠãŒã¶ãŒãšçŽæ¥ããåãããããšã¯ãããŸãããããªãã¯ã圌ãã®ä»£ããã«è¡åãããšãŒãžã§ã³ãã®ããã«æ§ç¯ããŠããŸãã
ãšã©ãŒåŠçã¯ãéçºè ãäžè²«ããŠåé¡ã«çŽé¢ããŠããé åã® 1 ã€ã§ããããŒã«ã人éåãã®ãšã©ãŒã¡ãã»ãŒãžãè¿ãå Žåãããªããæã£ãŠãããããªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããŠããªãå¯èœæ§ããããŸããããŒã«ãåŒã³åºãã®ã¯ãŠãŒã¶ãŒã§ã¯ãªããšãŒãžã§ã³ãã§ããããšã©ãŒã¡ãã»ãŒãžããŠãŒã¶ãŒã«è¿ãä¿èšŒã¯ãããŸããã
ãšãŒãžã§ã³ãã¯ãã¿ã¹ã¯ãå®äºããããã«èšèšãããŠããŸããäœãã倱æãããšã圌ãã¯ãã°ãã°å¥ã®ã¢ãããŒãã詊ã¿ãŸãããã®ããããšã©ãŒåŠçã¯ããšãŒãžã§ã³ããåé¡ã«ãã©ã°ãç«ãŠãã ãã§ãªããæ¬¡ã«äœããã¹ãããæ±ºå®ããã®ã«åœ¹ç«ã€å¿ èŠããããŸããããã®ã·ã¹ãã ã«ã¢ã¯ã»ã¹ã§ããŸãããã®ä»£ããã«ãããã®ã·ã¹ãã ã«ã¢ã¯ã»ã¹ããã«ã¯ãMCPãµãŒããŒãæå¹ãªAPI_TOKENã§æ§æããå¿ èŠããããŸããçŸåšã®API_TOKENã¯ç¡å¹ã§ãããšããè¡ã«æ²¿ã£ãŠäœããè¿ããŸããÂ
ããã§è¡ã£ãŠããã®ã¯ãã¢ã¯ã»ã¹ãå®å šã«æåŠãããããã§ã¯ãªããèšå®ãã¹ãåå ã§ãµãŒãããŒãã£ã·ã¹ãã ã«ã¢ã¯ã»ã¹ã§ããªãããšããšãŒãžã§ã³ãã«éç¥ããããšã§ãããã®åºå¥ã¯éèŠã§ããã¢ã¯ã»ã¹æš©ããªãã®ã¯ããŠãŒã¶ãŒã MCP ãµãŒããŒãé©åã«æ§æããŠããªãããã§ãããããŒããªæš©éã®åé¡ã§ã¯ãããŸããã
3ã人éãšãšãŒãžã§ã³ãã®ããã®ããã¥ã¡ã³ã!Â
ããã¯ãåæ§ã«éèŠãªãã€ã³ããã€ãŸãææžåã«ã€ãªãããŸãã
MCPãµãŒããŒåãã«å·çãããšãã¯ããšã³ããŠãŒã¶ãŒãšAIãšãŒãžã§ã³ãã®2ã€ã®ãªãŒãã£ãšã³ã¹ã«ãµãŒãã¹ãæäŸããŠããããšãèŠããŠãããŠãã ããããšã©ãŒåŠçã§èŠãããã«ãäž¡æ¹ã®ããŒãºãçè§£ããããšãéèŠã§ãã
ããã¥ã¡ã³ãã¯ãåèŠèŽè ã«æç¢ºã«å¯Ÿå¿ããå¿ èŠããããŸãããšã³ããŠãŒã¶ãŒã¯ããªãMCPãµãŒããŒã䜿çšãã å¿ èŠãããã®ã ãã©ã®ãããªåé¡ã解決ããã®ããã¯ãŒã¯ãããŒã«ã©ã®ããã«é©åããã®ããç¥ãããã£ãŠããŸããäžæ¹ããšãŒãžã§ã³ãã¯ãé©åã«èšè¿°ãããããŒã«åãšèª¬æã«åºã¥ããŠããµãŒããŒãç¹å®ã®ã¿ã¹ã¯ã«é©ããŠãããã©ããã倿ããŸãã
MCPãµãŒããŒãå®éã«äœ¿çšããŠããã®ã¯ãšãŒãžã§ã³ãã§ããããšãŒãžã§ã³ããã¢ã¯ã»ã¹ã§ããããŒã«ã決å®ããã®ã¯ãšã³ããŠãŒã¶ãŒã§ããããšã«æ³šæããŠãã ãããããªãã®ããã¥ã¡ã³ãã¯äž¡æ¹ããµããŒãããå¿ èŠããããŸã!
4ãæ©èœããã¹ãããã ãã§ãªãããŠãŒã¶ãŒãšã®å¯Ÿè©±ããã¹ãããŸã
ããã¥ã¡ã³ããæ€èšŒããæè¯ã®æ¹æ³ã® 1 ã€ã¯ãç¬èªã® MCP ãµãŒããŒããã¹ãããããšã§ããéçºäžã«ãµãŒããŒãšå¯Ÿè©±ããæãç°¡åãªæ¹æ³ã¯ã MCP ã€ã³ã¹ãã¯ã¿ ãŒã䜿çšããããšã§ã (ã¿ãŒããã«ã« npx @modelcontextprotocol/inspector ãšå ¥åããã°ãããã«äœ¿çšã§ããŸãã
MCPãµãŒããŒãåäœããŠãããã©ããããã¹ãããã®ã¯äžè¬çã§ãããã€ã³ã¹ãã¯ã¿ãŒã¯ãšã³ããŠãŒã¶ãŒã®èŠç¹ããèããã®ã«ã圹ç«ã¡ãŸããããã«ããããŠãŒã¶ãŒããµãŒããŒãšã©ã®ããã«å¯Ÿè©±ããããããã³ããã¥ã¡ã³ãããã®ãšã¯ã¹ããªãšã³ã¹ããµããŒãããŠãããã©ãããããæç¢ºã«ææ¡ã§ããŸãã
ãµãŒããŒã®ãã¹ãã«ã¯ã次㮠3 ã€ã®äž»èŠãªæé ããããŸãã
- MCP ãµãŒããŒãžã®æ¥ç¶: ãã®æé ã¯ããµãŒããŒãæ£ããå®è¡ããããã«å¿ èŠãªãã¹ãŠã®æ§æããã£ããã£ããŠããããšãæ€èšŒããã®ã«åœ¹ç«ã¡ãŸãã
- ãªã¹ãããŒã«:ããã¯ãAIãšãŒãžã§ã³ããMCPãµãŒããŒãåæåãããšãã«è¡šç€ºããããã®ã§ãã
- ããŒã«ã³ãŒã«: ããŒã«ãæåŸ ã©ããã«åäœããããšã確èªããŸããããã§ãé害ã¢ãŒããæ€èšŒã§ããŸãã
èšèšäžã®éèŠãªèæ ®äºé ã® 1 ã€ã¯ãMCP ãµãŒããŒã®ã©ã€ããµã€ã¯ã«ã«ã€ããŠèããããšã§ãã åã: MCP ã¯ã©ã€ã¢ã³ãã MCP ãµãŒããŒã«æ¥ç¶ããããã«äœãå¿ èŠããããŒã«ã¯ã©ã®ããã«ãªã¹ãã¢ããããçºèŠãã¹ãã?ãŸããç¹å®ã®ããŒã«ãåŒã³åºãããã»ã¹ã¯ã©ã®ãããªãã®ã§ãã?
ããšãã°ãããŒã¿ããŒã¹ã® MCP ãµãŒããŒãäœæããŠããå Žåã§ããäžè¬ç㪠API ã§ã¯ããµãŒããŒã®èµ·åæã«ããŒã¿ããŒã¹æ¥ç¶ã確ç«ããŸãããã ããMCP ãµãŒããŒãäœæãããšãã¯ãåããŒã«åŒã³åºããã§ããã ãèªå·±å®çµåã«ããããšãç®æãå¿ èŠããããŸããããã¯ããµãŒããŒã®èµ·åæã§ã¯ãªãããã¹ãŠã®ããŒã«åŒã³åºãã«å¯ŸããŠæ¥ç¶ãäœæããããšãæå³ããŸããããã«ããããµãŒããŒãæ£ããæ§æãããŠããªãå Žåã§ãããŠãŒã¶ãŒãæ¥ç¶ããŠããŒã«ãäžèŠ§è¡šç€ºã§ããããã«ãªããŸããÂ
ããã¯æåã¯ã¢ã³ããã¿ãŒã³ã®ããã«æãããããããŸããããå®éã«ã¯ãã®æèã§ã¯ããçã«ããªã£ãŠããŸããå°ãã®ã¬ã€ãã³ã·ãŒãšåŒãæãã«ã䜿ãããããšä¿¡é Œæ§ãåäžãããŠããã®ã§ããå®éã«ã¯ãMCPãããŒã¿ããŒã¹(ãŸãã¯ãµãŒãããŒãã£ã®ã·ã¹ãã )ãžã®æ¥ç¶ãå¿ èŠãšããã®ã¯ãããŒã«ãåŒã³åºããããšãã ãã§ããMCP Inspector ã¯ããããå®éã«ç¢ºèªãããŠãŒã¶ãŒãšãšãŒãžã§ã³ãã®äž¡æ¹ããµãŒããŒãšã©ã®ããã«å¯Ÿè©±ããããããããçè§£ããããã®åªããæ¹æ³ã§ãã
Docker MCP Toolkit ã䜿çšããŠããå ŽåãMCP ãµãŒããŒãæåŸ ã©ããã«åäœããŠãããã©ããããã¹ãããæ¹æ³ã¯ããã€ããããŸããÂ
次ã®ã³ãã³ããå®è¡ããŠãDocker Desktop ã§å®çŸ©ããæ§æã䜿çšããŠããŒã«ãåŒã³åºããŸãã
`docker mcp tools call my-tool`
MCP ã¯ã©ã€ã¢ã³ãã«è¡šç€ºãããå 容ããã¹ãããã«ã¯ã次ã®ã³ãã³ããå®è¡ããŸãã
`docker mcp gateway run --verbose --dry-run`
ãã®ã³ãã³ãã¯ãDocker MCP ã«ã¿ãã°ã§æå¹ã«ãªã£ãŠãããšä»®å®ããŠãMCP ã¯ã©ã€ã¢ã³ããã MCP ãµãŒããŒãžã®åŒã³åºããã·ãã¥ã¬ãŒãããŸãã
5ãã³ã³ããã䜿çšãã MCP ãµãŒããŒã®ããã±ãŒãžå
çŽ æŽããããç§ãã¡ã¯MCPãµãŒããŒãäœæããŠãã¹ãããŸãããæ¬¡ã¯äœã§ãã?å è£ ïŒ
MCP ãµãŒããŒã®ããã±ãŒãžåã¯ãææç©ãäœæããããšã§ã¯ãªããææç©ãã©ã®ããã«äœ¿çšãããããèããããšã§ããããã§ã¯å°ãåèŠããããããããŸããããMCPãµãŒããŒãDockerã€ã¡ãŒãžãšããŠããã±ãŒãžåããããšãæ£ããæ¹æ³ã§ãããšç§ãã¡ã¯æ¬åœã«ä¿¡ããŠããŸãã
MCPãµãŒããŒã«ã¯ãPythonãTypeScriptãJavaãªã©ãããŸããŸãªçš®é¡ããããŸããDocker ã€ã¡ãŒãžãšããŠããã±ãŒãžåãããšãDocker ã€ã¡ãŒãžã®æ§è³ªäžããµãŒããŒãçã«ç§»æ€å¯èœã«ããããšãã§ããŸãããšã³ã ãŠãŒã¶ãŒãã·ã¹ãã ã®æ§ææ¹æ³ã«é¢ä¿ãªããMCP ãµãŒããŒãå®è¡ã§ããããã«ããããšãã§ããŸããDocker ã³ã³ããã䜿çšããããšã¯ãä»ã®äººã®ãã·ã³ãžã®äŸåé¢ä¿ã«å¯ŸåŠããã®ãé¿ããæãç°¡åãªæ¹æ³ã§ããDocker ãå®è¡ã§ããå Žåã¯ãMCP ãµãŒããŒãå®è¡ã§ããŸãã
åªããDockerfileãäœæããæ¹æ³ã«ã€ããŠã¯å€ãã®ãªãœãŒã¹ãå©çšã§ããŸãããæ£ããããšããããã©ããããããªãå Žåã¯ããã€ã§ãGordonãŸãã¯ãdockeraiãã³ãã³ãã䜿çšããŠæ¹åã§ããŸãããdocker ai improve my Dockerfileããšå ¥åããã ãã§ãDocker AIãšãŒãžã§ã³ãã§ããGordonãMCPãµãŒããŒã®Dockerfileã®æé©åãæ¯æŽããŸãã
MCP ãµãŒããŒã®æåºæ¹æ³Â
ãªããžããªã«Dockerfileãå ¥ã£ããã MCPãµãŒããŒã Dockerå ¬åŒã¬ãžã¹ããªã«éä¿¡ããããšããå§ãããŸãããã®èšäºã®å·çæç¹ã§ã¯ãæåºããããã¹ãŠã® MCP ãµãŒããŒã¯ stdio ãã©ã³ã¹ããŒã ã¡ã«ããºã ã䜿çšããå¿ èŠããããããã³ã³ãããšããŠå®è¡ããå Žåã¯ããµãŒããŒãããããµããŒãããŠããããšã確èªããŠãã ãããçæ§ã®ãå¿åããåŸ ã¡ããŠãããŸã!
çµè«
æ°ããDocker MCPã«ã¿ãã°ã«ããã MCPãµãŒããŒãå®å šã«æ€åºããã¹ã±ãŒãªã³ã°ããããšããããŸã§ä»¥äžã«å®¹æã«ãªããŸããDockerã§æ§ç¯ããããµãŒããŒãå®å šãªã»ãã¥ãªãã£åŠçã§æåºããå Žåã§ããã³ãã¥ããã£ã®ã³ã³ããªãã¥ãŒã¿ãŒãšããŠèªåã®ãµãŒããŒãç¶æããå Žåã§ããMCPãµãŒããŒã«é¢ããæ¬¡ã®5ã€ã®ãã¹ããã©ã¯ãã£ã¹ã«åŸã£ãŠãã ãããããŒã«ã®äºç®ç®¡çããšãŒãžã§ã³ãåãã®èšèšããŠãŒã¶ãŒãšLLMã®äž¡æ¹åãã®äœæã培åºçãªãã¹ããã³ã³ããã«ããããã±ãŒãžåã¯ãä¿¡é Œæ§ãé«ãã䜿ãããããå®éã®ãšãŒãžã§ã³ãã¯ãŒã¯ããŒãã«å¯Ÿå¿ããMCPãµãŒããŒãäœæããã®ã«åœ¹ç«ã¡ãŸããÂ
ããªãã®ãã®ãDockerã³ãã¥ããã£ã§å ±æããæºåã¯ã§ããŸããã?Docker MCP ã«ã¿ãã°ã«æåºããŠãäœçŸäžäººãã®éçºè ã«å ¬éããŠãã ãããÂ
詳ããèŠã
- æ°ããMCPã«ã¿ãã°ã®çºè¡šããã°ãã芧ãã ãã
- Docker MCP Catalog and Toolkit ã®ããã¥ã¡ã³ããèŠã€ãããŸãã
- Docker Navigator ãã¥ãŒã¹ã¬ã¿ãŒã賌èªããŠãã ããã
- Docker ã¯åããŠã§ãã? ã¢ã«ãŠã³ããäœæããŸããÂ
- ã質åã¯ããããŸãã? Docker ã³ãã¥ããã£ããæäŒãããŸãã