DevOps ã¯ããœãããŠã§ã¢éçºã®ã©ã€ããµã€ã¯ã«ãåçã«æ¹åããããšãç®çãšããŠããŸããããã«ããã以åã¯åé¢ãããŠããéçºãšéçšã®äžçãããœãããŠã§ã¢äœæã®å¹çåãç®æãååã䜿çšããŠçµ±åããŸãã DevOps ãã©ã¯ãã£ã¹ã¯ãã³ãŒãã®èšç»ãããã«ããã¿ã¹ã¯ã®èªååããã¹ããç£èŠããªãªãŒã¹ãã¢ããªã±ãŒã·ã§ã³ã®ãããã€ãŸã§ãéçºã©ã€ããµã€ã¯ã«ã®ãããããã§ãŒãºã§éçºè ãæ¯æŽããããã®æçšãªããŒããããã圢æããŸãã
DevOpsã®äœ¿çšãæ¡å€§ãç¶ããã«ã€ããŠãå€ãã®éçºè ãçµç¹ã¯ã Dockerã³ã³ããåãã©ãããã©ãŒã ãDevOpsãã©ã¯ãã£ã¹ã®éèŠãªã³ã³ããŒãã³ããšããŠé©åã«çµ±åãããŠããããšã«æ°ã¥ããŸãã Docker ã䜿çšãããšãéçºè ã¯ãããŒã«ã«ã³ã³ãããšãªã¢ãŒãã³ã³ããããŒã«ã䜿çšããŠæšæºåãããç°å¢ã§ã³ã©ãã¬ãŒã·ã§ã³ã§ãããšããå©ç¹ããããããã§ã³ãŒãã®èšè¿°ãäœæ¥ã®å ±æãã³ã©ãã¬ãŒã·ã§ã³ãè¡ãããšãã§ããŸããÂ
ãã®ããã°èšäºã§ã¯ãDevOpsãã©ã¯ãã£ã¹å ã§ã®Dockerã®äœ¿çšãæ¢ããéçºè ãããå¹ççã§åŒ·åãªã¯ãŒã¯ãããŒãäœæããã®ã«ãã®çµã¿åãããã©ã®ããã«åœ¹ç«ã€ãã説æããŸãã

DevOpsãšã¯?
DevOps ãã©ã¯ãã£ã¹ã¯ããœãããŠã§ã¢éçºãã€ãã©ã€ã³å šäœã§ã¹ããŒããªèšç»ãã³ã©ãã¬ãŒã·ã§ã³ãç§©åºããããã»ã¹ãšç®¡çãä¿é²ãããããéçºè ãšã³ãŒãäœæã®äžçã§æçã§ãã çµ±äžãããDevOpsã®ååããªããã°ãã³ãŒãã¯éåžžãåã ã®ãµã€ãã§äœæãããåµé æ§ãå¹ççãªç®¡çãã¹ããŒããå質ã劚ããå¯èœæ§ããããŸãã
ãœãããŠã§ã¢éçºè ãéçšããŒã ãããã»ã¹ã DevOps ã®ååã«åºã¥ããŠçµ±åããããšã§ãã³ã©ãã¬ãŒã·ã§ã³ãä¿ææ§ãã€ãããŒã·ã§ã³ã®åäžãéããŠãéçºè ãšçµç¹ã®äž¡æ¹ã®å¹çãåäžãããããšãã§ããŸãã DevOpsã¯ãã¢ããªã±ãŒã·ã§ã³ã®æ©èœãæ¬ ç¹ãã³ãŒãã®äžå ·åã«é¢ãããŠãŒã¶ãŒãã£ãŒãããã¯ãåžžã«çµ±åããå¿ èŠã«å¿ããŠãã®å Žã§å€æŽãå ããããšã§ãæ¬çªã³ãŒãã®éçšãªã¹ã¯ãšã»ãã¥ãªãã£ãªã¹ã¯ã軜æžããããšã§ããããã®ååããªå€åãçµç¹ã«ãããããŸãã
CI/CD
ã³ã©ãã¬ãŒã·ã§ã³ã«å ããŠãDevOps ã®ååã¯ãã³ãŒãã®ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³/æ¹å (CI) ãšç¶ç¶çãããã€/ããªããªãŒ (CD) ã®æé ãäžå¿ã«æ§ç¯ãããŠãããéçºãšéçšã®éã®ãµã€ã¯ã«ãççž®ããŸãã ãã® CI/CD ã¢ãããŒãã«ãããããŒã ã¯ãã£ãŒãããã¯ã«ããè¿ éã«é©å¿ããã³ãŒãã®æ§æ³ãããšã³ããŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ã«è³ããŸã§ãããåªããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã
CI ã䜿çšãããšãéçºè ã¯æ°ããã³ãŒããäœæãããšãã«ã倿ŽããœãŒã¹ ã³ãŒãã«é »ç¹ãã€èªåçã«çµ±åã§ããCD åŽã¯ãããã®åå³ããã倿Žããã¹ãããŠéçšç°å¢ã«é ä¿¡ããŸãã CI/CD ãã©ã¯ãã£ã¹ãçµ±åããããšã§ãéçºè ã¯èªååãã³ã©ãã¬ãŒã·ã§ã³ã匷å㪠QA ãã€ãã©ã€ã³ãéããŠãããã¯ãªãŒã³ã§å®å šãªã³ãŒããäœæããæ¬çªç°å¢ã«å ç«ã£ãŠãã°ã解決ã§ããŸããÂ
ããã«ãŒãšã¯äœã§ãã?
Docker ã³ã³ããåãã©ãããã©ãŒã ã¯ãã¢ããªã±ãŒã·ã§ã³éçºè ã® DevOps ãã©ã¯ãã£ã¹ãå¯èœã«ããããŒã«ãæšæºããµãŒãã¹ã®ã¹ã€ãŒãã§ãã Docker ã¯ã軜éã³ã³ããå ã§ã¢ããªã±ãŒã·ã§ã³ãéçºãåºè·ãå®è¡ããããã«äœ¿çšãããŸãã ãã®ã¢ãããŒãã«ãããéçºè ã¯ã¢ããªã±ãŒã·ã§ã³ãããžãã¹ ã€ã³ãã©ã¹ãã©ã¯ãã£ããåé¢ã§ãããããããåªããã³ãŒããããè¿ éã«æäŸã§ããããã«ãªããŸããÂ
Docker ãã©ãããã©ãŒã ã䜿çšãããšãéçºè ã¯ãã¢ããªã±ãŒã·ã§ã³ã»ã³ãŒãã軜éã§ããŒã«ã«ã®æšæºåãããã³ã³ããã«ããã±ãŒãžåããŠå®è¡ã§ããããŒã«ãããã±ãŒãžãã©ã€ãã©ãªãªã©ãã¢ããªã±ãŒã·ã§ã³ã®å®è¡ã«å¿ èŠãªãã¹ãŠã®ãã®ãå«ãç·©ããã«åé¢ãããç°å¢ãæäŸããŸãã Docker ã¯ã©ã€ã¢ã³ãã§ Docker ã³ã³ããã䜿çšããããšã§ãéçºè ã¯ãã¹ãã«äœãã€ã³ã¹ããŒã«ãããŠããããæ°ã«ããã«ã¢ããªã±ãŒã·ã§ã³ãå®è¡ã§ããä»®æ³ãã·ã³ã«æ¯ã¹ãŠå€§ããªæè»æ§ãã»ãã¥ãªãã£ãã³ã©ãã¬ãŒã·ã§ã³ã®å©ç¹ãåŸãããŸããÂ
ãã®å¶åŸ¡ãããç°å¢ã§ã¯ãéçºè 㯠Docker ã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ãäœæãç£èŠããã¹ãç°å¢ã«ããã·ã¥ããå¿ èŠã«å¿ããŠèªåãã¹ããšæåãã¹ããå®è¡ãããã°ãä¿®æ£ããã³ãŒããæ¬çªç°å¢ã§äœ¿çšããããã«ãããã€ããåã«æ€èšŒã§ããŸããÂ
ãŸããDocker ã䜿çšãããšãéçºè ã¯ãã¹ãäžã§å€æ°ã®ã³ã³ãããåæã«å®è¡ããªãããåãã³ã³ãããä»ã®ãŠãŒã¶ãŒãšå ±æããããšãã§ããŸãã ãã®ãããªã³ã©ãã¬ãŒã·ã§ã³ ã¯ãŒã¯ã¹ããŒã¹ã¯ãéçºè éã®å¥å šã§çŽæ¥çãªã³ãã¥ãã±ãŒã·ã§ã³ãä¿é²ããéçºããã»ã¹ãããç°¡åã«ãããæ£ç¢ºã«ãããå®å šã«ããããšãã§ããŸããÂ
ã³ã³ãããšä»®æ³å
ã³ã³ããã¯ãã¢ããªã±ãŒã·ã§ã³ã³ãŒããšäŸåé¢ä¿ãããã±ãŒãžåããæœè±¡åã§ãã ãã®åŸãã³ã³ããã®ã€ã³ã¹ã¿ã³ã¹ã¯ãDocker API ãŸãã¯ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ (CLI) ã䜿çšããŠäœæãéå§ã忢ãç§»åããŸãã¯åé€ã§ããŸãã ã³ã³ããã¯ã1ã€ä»¥äžã®ãããã¯ãŒã¯ã«æ¥ç¶ããããã¹ãã¬ãŒãžã«æ¥ç¶ããããçŸåšã®ç¶æ ã«åºã¥ããŠæ°ããã€ã¡ãŒãžãäœæãããã§ããŸããÂ
ã³ã³ããã¯ãã³ã³ãã¥ãŒã¿ããŒããŠã§ã¢ã®äžã«ãœãããŠã§ã¢æœè±¡åã¬ã€ã€ãŒã䜿çšããä»®æ³ãã·ã³ãšã¯ç°ãªããåã ã®ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããè€æ°ã®ã€ã³ã¹ã¿ã³ã¹ã§ããŒããŠã§ã¢ãããå¹ççã«å ±æã§ããŸãã Docker ã³ã³ããã¯ãä»®æ³ãã·ã³ãããå¿ èŠãªç©çããŒããŠã§ã¢ãªãœãŒã¹ãå°ãªããŠæžã¿ãèµ·åæéãççž®ããããªãŒããŒããããåæžãããŸãã ãã®ãããDocker ã¯ãè¿ éãªãœãããŠã§ã¢éçºãµã€ã¯ã«ãšã¹ã±ãŒã©ããªãã£ãéèŠãªé«éç°å¢ã«æé©ã§ããÂ
Docker ã®åºæ¬ã³ã³ããŒãã³ãÂ
Docker ã®åºæ¬ã³ã³ããŒãã³ãã«ã¯ã次ã®ãã®ããããŸãã
- Docker ã€ã¡ãŒãž: Docker ã€ã¡ãŒãžã¯ãã³ã³ããã®éåçã§ãã ãããã¯ãDocker ã³ã³ãããäœæããããã®æé ãå«ãèªã¿åãå°çšã®ãã³ãã¬ãŒãã§ãã ã³ã³ããã€ã¡ãŒãžã¯ãã¢ããªã±ãŒã·ã§ã³ã®ç¹å®ã®ç¶æ ã®ã¹ãããã·ã§ãããšèããããšãã§ããŸãã
- ã³ã³ãããŒïŒ ã³ã³ããã¯ãDocker ã€ã¡ãŒãžã®ã€ã³ã¹ã¿ã³ã¹ã§ãã 軜éã§ç§»æ€æ§ããããã¢ããªã±ãŒã·ã§ã³ãšãã®äŸåé¢ä¿ãã«ãã»ã«åããŸãã ã³ã³ããã¯ãç°¡åãªDockerã³ãã³ãã䜿çšããŠäœæãéå§ã忢ãç§»åãããã³åé€ã§ããŸãã
- Dockerãã¡ã€ã«: Dockerfile ã¯ãDocker ã€ã¡ãŒãžã®ãã«ãæ¹æ³ã«é¢ããäžé£ã®æé ãå«ãããã¹ã ããã¥ã¡ã³ãã§ãã ããã«ã¯ãåºæ¬ã€ã¡ãŒãžã®æå®ããã¡ã€ã«ã®ã³ããŒãäŸåé¢ä¿ã®ã€ã³ã¹ããŒã«ãããã³ç°å¢ã®èšå®ãè¡ãããã®ã³ãã³ããå«ãŸããŠããŸããÂ
- Docker Engine: Docker Engine 㯠Docker ã®ã³ã¢ ã³ã³ããŒãã³ãã§ãã ããã¯ãé·æéå®è¡ãããããŒã¢ã³ ããã»ã¹ãæã€ãµãŒããŒãããŒã¢ã³ãšå¯Ÿè©±ããããã® APIãããã³ CLI ã¯ã©ã€ã¢ã³ããå«ãã¯ã©ã€ã¢ã³ã/ãµãŒã㌠ã¢ããªã±ãŒã·ã§ã³ã§ãã
- Docker Desktop: Docker Desktop ã¯ãDocker, Inc. ã販売ããã³ãµããŒãããåçšè£œåã§ãã ããã«ã¯ãDocker Engineããã®ä»ã®ãªãŒãã³ãœãŒã¹ã³ã³ããŒãã³ããç¬èªã®ã³ã³ããŒãã³ããããã³çŽæçãªGUIãåæããããã¡ã€ã«å ±æãã¯ã©ãŠããªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ããããã°æ©èœããã€ãã£ããã¹ãçµ±åãã¬ããã³ã¹ãã»ãã¥ãªãã£æ©èœã管çèšå®ç®¡çãªã©ã®æ©èœãå«ãŸããŸããÂ
- Docker ãã: Docker Hub ã¯ãDocker ã€ã¡ãŒãžãä¿åããã³å ±æã§ããå ¬éã¬ãžã¹ããªã§ãã ããã¯ãå ¬åŒã®Dockerã€ã¡ãŒãžãšãŠãŒã¶ãŒæäŸã®ã€ã¡ãŒãžãèŠã€ããããã®äžå¿çãªå ŽæãšããŠæ©èœããŸãã ãŸããDocker Hub ã䜿çšããŠãCI/CD ãã€ãã©ã€ã³ã«æ¥ç¶ããããšã§ã¯ãŒã¯ãããŒãèªååããããšãã§ããŸãã
åºæ¬ç㪠Docker ã³ãã³ã
Docker ã³ãã³ãã¯ã·ã³ãã«ã§çŽæçã§ãã äŸãã°ïŒ
docker run: æå®ããã€ã¡ãŒãžãã Docker ã³ã³ãããå®è¡ããŸãã ããšãã°ãdocker run hello-world㯠"hello-world" ã€ã¡ãŒãžããã³ã³ãããŒãå®è¡ããŸããdocker build: Dockerfile ããã€ã¡ãŒãžããã«ãããŸãã ããšãã°ãdocker build -t my-app .ã¯ãçŸåšã®ãã£ã¬ã¯ããªã® Dockerfile ãã "my-app" ãšããååã®ã€ã¡ãŒãžããã«ãããŸããdocker pull: Docker Hub ããã€ã¡ãŒãžããã«ããŸãã ããšãã°ãdocker pull nginx㯠Docker Hub ããææ°ã® NGINX ã€ã¡ãŒãžãããŠã³ããŒãããŸããdocker ps: å®è¡äžã®ãã¹ãŠã®ã³ã³ãããäžèŠ§è¡šç€ºããŸãã ããšãã°ãdocker ps -aã¯ã忢ããŠããã³ã³ãããå«ããã¹ãŠã®ã³ã³ãããäžèŠ§è¡šç€ºããŸããdocker stop: å®è¡äžã® Docker ã³ã³ããã忢ããŸãã ããšãã°ãdocker stop <container_id>ã¯æå®ããã ID ãæã€ã³ã³ããã忢ããŸããdocker rm: 忢ããã³ã³ãããåé€ããŸãã ããšãã°ãdocker rm <container_id>ã¯æå®ããã ID ãæã€ã³ã³ãããåé€ããŸãã
DevOpsã§ã®Dockerã®äœ¿ç𿹿³
éçºè ã«ãšã£ãŠã®Dockerã®æãéèŠãªå©ç¹ã®1ã€ã¯ãã¢ããªã±ãŒã·ã§ã³éçºããã»ã¹ã§CI/CDãä¿é²ããäžã§ã®éèŠãªåœ¹å²ã§ãã ããã«ãããéçºè ã¯ããç°¡åãã€ã·ãŒã ã¬ã¹ã«ååããŠãããåªããã³ãŒããäœæã§ããŸãã
Docker ã¯ãéçºè ã Docker ã³ã³ããå ã§ã¢ããªã±ãŒã·ã§ã³ããã«ãããã³ãã¹ãããäºæž¬å¯èœãªçµæãåŸãããšãã§ããä»ã®éçºç°å¢ãšæ¯èŒããŠäžè²«æ§ãšåçŸæ§ã®ããçµæãç°¡åã«åŸãããšãã§ãããã«ãç°å¢ã§ãã éçºè 㯠Dockerfile ã䜿çšããŠãããã°ã©ãã³ã° ã©ã³ã¿ã€ã ããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ããã€ããªãªã©ããã«ãç°å¢ã«å¿ èŠãªæ£ç¢ºãªèŠä»¶ãå®çŸ©ã§ããŸãã
ãŸããDocker ããã«ãç°å¢ãšããŠäœ¿çšãããšãã¢ããªã±ãŒã·ã§ã³ã®ã¡ã³ããã³ã¹ã容æã«ãªããŸãã ããšãã°ãDockerfile ã®ã¿ã°ãŸãã¯ãã€ãžã§ã¹ãã倿Žããã ãã§ãæ°ããããŒãžã§ã³ã®ããã°ã©ãã³ã° ã©ã³ã¿ã€ã ã«æŽæ°ã§ããŸãã ããã¯ãä»®æ³ãã·ã³ã§æ°ããããŒãžã§ã³ãæåã§åã€ã³ã¹ããŒã«ããé¢é£ããæ§æãã¡ã€ã«ãæŽæ°ããããã«å¿ èŠãªããã»ã¹ãããç°¡åã§ãã
Docker Hubã䜿çšãããšãã³ã³ããã䜿çšããŠãœãŒã¹ã³ãŒããªããžããªã®å€æŽãèªåçã«ãã¹ãããããã¢ããªã±ãŒã·ã§ã³ããã¹ãç°å¢ã«ããã·ã¥ããŠèªåãã¹ããæåãã¹ããå®è¡ãããããããšããèªåãã¹ããšæåãã¹ããç°¡åã«è¡ãããšãã§ããŸãã
Dockerã¯ãJenkinsãGitLabãKubernetesãªã©ã®DevOpsããŒã«ãšçµ±åã§ãããã€ãã©ã€ã³ãèªååããå¿ èŠã«å¿ããŠæäœãã¹ã±ãŒãªã³ã°ããããšã§DevOpsããã»ã¹ãç°¡çŽ åããŸããÂ
DevOps ã« Docker ã䜿çšããå©ç¹Â
éçºã«äœ¿çšããã Docker ã³ã³ããã¯ããã¹ããæ¬çªç°å¢ã§ç§»åããããã®ãšåãã§ãããããDocker ãã©ãããã©ãŒã ã¯ç°å¢éã§äžè²«æ§ãæäŸããéçºè ããŒã ãšéçšãããŒãžã£ãŒã«å€§ããªã¡ãªããããããããŸãã å Docker ã³ã³ããã¯ãå®è¡ãããŠããä»ã®ã³ã³ããããåé¢ãããŠãããããäŸåé¢ä¿ã®ç«¶åãæé€ãããŸãã éçºè ã¯ãä»ã®ãŠãŒã¶ãŒãšååããDocker ãã©ãããã©ãŒã ç°å¢å ã§å©çšå¯èœãªãã¹ãŠã®ãªãœãŒã¹ã䜿çšããªãããã³ãŒãããã«ããå®è¡ãããã³ãã¹ãããããšãã§ããŸããÂ
éçºè ã«ãšã£ãŠã®ãã®ä»ã®å©ç¹ã«ã¯ãã¹ããŒããšä¿ææ§ããªãœãŒã¹å¹çããšã©ãŒã®åæžãçµ±åãããããŒãžã§ã³ç®¡çãæšæºåãã³ãŒããäžåºŠèšè¿°ããã°ä»»æã®ã·ã¹ãã ã§å®è¡ã§ãããªã©ããããŸãã ããã«ãDocker äžã«æ§ç¯ãããã¢ããªã±ãŒã·ã§ã³ã¯ãã©ã®ã³ã³ãã¥ãŒãã£ã³ã°ç°å¢ã§ãç°¡åã«é¡§å®¢ã«ããã·ã¥ã§ãããããè¿ éãç°¡åãäžè²«æ§ã®ããé ä¿¡ããã³ããã〠ããã»ã¹ãä¿èšŒãããŸããÂ
DevOpsã«ãããDockerã®äžè¬çãªèª²é¡4
DevOpsç°å¢ã«Dockerãå®è£ ãããšãå€ãã®ã¡ãªãããåŸãããŸãããããŒã ã察åŠããªããã°ãªããªãããã€ãã®èª²é¡ãæç€ºãããŸãã
1ã åŠç¿æ²ç·ãšã¹ãã«ã®ã£ãã
Docker ã¯ãããŒã ãæ°ããã¹ãã«ãç¿åŸããå¿ èŠãããæ°ããæŠå¿µãšãã¯ãããžãå°å ¥ããŸãã ããã¯ãç¹ã«ããŒã ãã³ã³ããåã®çµéšãäžè¶³ããŠããå Žåã倧ããªããŒãã«ã«ãªãå¯èœæ§ããããŸãã Docker ã®å ç¢ãª ããã¥ã¡ã³ããšã¬ã€ããããã³åœéçãªã³ãã¥ãã㣠ã¯ãæ°ãããŠãŒã¶ãŒãè¿ éã«æé·ããã®ã«åœ¹ç«ã¡ãŸãã
2ã ã»ãã¥ãªãã£äžã®æžå¿µ
ã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ã® ã»ãã¥ãªã㣠ã確ä¿ããã«ã¯ãã³ã³ããã€ã¡ãŒãžã®è匱æ§ãžã®å¯ŸåŠãã·ãŒã¯ã¬ããã®ç®¡çããããã¯ãŒã¯ããªã·ãŒã®å®è£ ãå«ãŸããŸãã èšå®ãã¹ãã«ãŒãæš©éã§ã®ã³ã³ããã®å®è¡ã¯ãã»ãã¥ãªãã£ãªã¹ã¯ã«ã€ãªããå¯èœæ§ããããŸãã ãã ããDocker ã¯ã管çè ãšéçºè ã®äž¡æ¹ã«ã»ãã¥ãªã㣠ã¬ãŒãã¬ãŒã«ãæäŸããŸãã
Docker Business ãµãã¹ã¯ãªãã·ã§ã³ã¯ãå€§èŠæš¡ãªã»ãã¥ãªãã£ãšç®¡çãæäŸããŸããããšãã°ã管çè ã¯ãéçºè åãã« Docker 補åå šäœã§ ãµã€ã³ã€ã³ãåŒ·å¶ ãã Enhanced Container Isolation ã Registry Access Management ãªã©ã® DevOps ã»ãã¥ãªãã£å¶åŸ¡ã䜿çšã㊠Docker Desktop ã€ã³ã¹ã¿ã³ã¹ãå¹ççã«ç®¡çãã¹ã±ãŒãªã³ã°ãä¿è·ã§ããŸãã
ããã«ãDocker 㯠Docker Scout ãªã©ã®ã»ãã¥ãªãã£ã«éç¹ã眮ããããŒã«ãæäŸããŠããã管çè ãéçºè ãã€ã¡ãŒãžã®è匱æ§ãç©æ¥µçã«ç£èŠãã修埩æŠç¥ãå®è£ ããããšã§ããœãããŠã§ã¢ ãµãã©ã€ ãã§ãŒã³ãä¿è·ããã®ã«åœ¹ç«ã¡ãŸãã 2024ã§å°å ¥ããã Docker Scout ã®ãã«ã¹ ã¹ã³ã¢ã¯ãDocker Hub å ã®ã³ã³ãã ã€ã¡ãŒãžã®ã»ãã¥ãªãã£ãšã³ã³ãã©ã€ã¢ã³ã¹ã®ã¹ããŒã¿ã¹ãè©äŸ¡ããã€ã¡ãŒãžã® "ãã«ã¹" ã衚ã 1 ã€ã®å®éåå¯èœãªã¡ããªãã¯ãæäŸããŸãããã®æ©èœã¯ãéçºè äž»å°ã®ãœãããŠã§ã¢ ã»ãã¥ãªãã£ã«ãããäž»èŠãªæ©æŠç¹ã® 1 ã€ã§ããã»ãã¥ãªãã£ã®å°éç¥èã®æ¬ åŠã«å¯ŸåŠããéçºè ãããŒã«ããã®éèŠãªæŽå¯ãå®è¡å¯èœãªã¹ãããã«å€ããããšã容æã«ããŸãã
3ã ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£
ã³ã³ãããšãã®åšèŸºã®ãšã³ã·ã¹ãã ã¯ãç¹ã«ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã察象ãšããŠããŸãã ã³ã³ããå ã§ã¢ããªã¹ãå®è¡ããããšã¯ã§ããŸããããã®æ¹æ³ã§ã³ã³ããã®ãã¹ãŠã®å©ç¹ãšãã©ãã€ã ãæŽ»çšããããšã¯ã§ããŸããã ããã©ããããã³ã³ããã¯ãã€ã¯ããµãŒãã¹ãžã®äŸ¿å©ãªã²ãŒããŠã§ã€ã«ãªãåŸãŸãã ãŠãŒã¶ãŒã¯ãã¢ããªã¹ããåã ã®ããŒã¹ãæéã®çµéãšãšãã«ããå€ãã®ã³ã³ããã«åŒãåºãããšãã§ããŸãã
4ã ã€ã¡ãŒãžç®¡ç
Docker ã§ã®ã€ã¡ãŒãžç®¡çã¯ãéçºè ãããŒã ãã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ã«äœ¿çšããã€ã¡ãŒãžããã©ã€ããŒã ã¬ãžã¹ããªãã³ãã¥ãã㣠ãªããžããªã§æ€çŽ¢ããããã課é¡ãšãªãããšããããŸãã Docker Image Access Management ã¯ãéçºè ã Docker Hub ãããã«ããŠäœ¿çšã§ããã€ã¡ãŒãžã®çš®é¡ ( Docker å ¬åŒã€ã¡ãŒãžã Docker æ€èšŒæžã¿ãããªãã·ã£ãŒã€ã¡ãŒãžãã³ãã¥ããã£ã€ã¡ãŒãžãªã©) ã管çè ãå¶åŸ¡ã§ããããããã®èª²é¡ã«å¯ŸåŠããã®ã«åœ¹ç«ã¡ãŸãã Docker Hub ã¯ãå ¬åŒã€ã¡ãŒãžã®ã¿ãå ¬éããä¿¡é Œã§ããããŒãããŒããã®ã³ã³ãã³ããæ€èšŒããããšã§æ¯æŽã詊ã¿ãŸããÂ
ã€ã¡ãŒãž ã¢ã¯ã»ã¹ç®¡çã³ã³ãããŒã«ã䜿çšãããšãéçºè ãä¿¡é Œã§ããªãæªæã®ããã³ãã¥ãã㣠ã€ã¡ãŒãžãã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããŒãã³ããšããŠèª€ã£ãŠäœ¿çšããã®ãé²ãããšãã§ããŸãã Docker ã€ã¡ãŒãž ã¢ã¯ã»ã¹ç®¡çã¯ãå瀟ã®ããã Docker Business ãµãŒãã¹ã®ã客æ§ã®ã¿ãå©çšã§ããããšã«æ³šæããŠãã ããã
ããã§ã®ãã1ã€ã®éèŠãªããŒã«ã¯ ãDocker Scoutã§ãã ããã¯ãã»ãã¥ãªãã£ã®è匱æ§ã®åœ±é¿ãåããããã¬ã€ã€ãŒãšãœãããŠã§ã¢ããã±ãŒãžã§æ§æãããã³ã³ããã€ã¡ãŒãžã䜿çšããéã«ãçµç¹ããœãããŠã§ã¢ãµãã©ã€ãã§ãŒã³ã®ã»ãã¥ãªãã£ãããé©åã«ä¿è·ã§ããããã«æ§ç¯ãããŠããŸãã Docker Scout ã¯ãã³ã³ããã€ã¡ãŒãžãããã¢ã¯ãã£ãã«åæããã¢ããªã±ãŒã·ã§ã³ãŸãã¯ã³ã³ããã«å«ãŸããã³ãŒãã®è©³çްãªã€ã³ãã³ããªã§ãããœãããŠã§ã¢éšå衚 (SBOM) ãã³ã³ãã€ã«ããããšã§ããã®åé¡ã解決ããŸãã æ¬¡ã«ããã®SBOMãçµ¶ããæŽæ°ãããè匱æ§ããŒã¿ããŒã¹ãšç §åããŠãã»ãã¥ãªãã£ã®åŒ±ç¹ãç¹å®ããŠä¿®æ£ããã³ãŒãã®å®å šæ§ãé«ããŸãã
Docker ã®äœ¿çšã«é¢ããè©³çŽ°ãªæ å ±ãšãã«ãã¯ã Docker ãã¬ãŒãã³ã° ããŒãžã«ãããéçºè ãããŒã ã Docker ã©ã³ãã¹ã±ãŒãã亀æžããæè¡çãªåé¡ã解決ããããã®æ°ããã¹ãã«ãç¿åŸããã®ã«åœ¹ç«ã€ãã¬ãŒãã³ã° Web ãã£ã¹ãããã®ä»ã®ãªãœãŒã¹ãæäŸããŠããŸããÂ
Docker ã䜿çšãã DevOps ã®äŸ
DevOpsã¯ãŒã¯ãããŒã®æ¹åã¯ãéçšãšéçºè ã®çç£æ§ãåäžãããããã¯ãªãŒã³ã§ãããå®å šã§ãããåªããã³ãŒããçæããããšã«èŠåŽããŠããå€ãã®äŒæ¥ã«ãšã£ãŠå€§ããªç®æšã§ãã
ãŠã§ã¢ããŠã¹ã°ã«ãŒã
ãã¥ãŒãžãŒã©ã³ãæå€§ã®å°å£²åºãã§ãŒã³ã§ã300åºèæ°ãå±éããŠããThe Warehouse Groupã§ã¯ã2016幎ã«Dockerãå°å ¥ãã以åã®VMwareã®ãããã€ã¡ã³ãã§ã¯ã»ããã¢ããæéãé·ããç°å¢ãäžå®å®ã§ããããã€ã¡ã³ããµã€ã¯ã«ãé ããšããçµæã«ãªã£ãåŸãã·ã¹ãã ãšããã»ã¹ãå·æ°ããŸãããÂ
ãDocker ã䜿çšããŠåŸãããäž»ãªå©ç¹ã® 1 ã€ã¯ãéåžžã«æè»ãªäœæ¥ç°å¢ãå®çŸã§ããããšã§ãããšãå瀟㮠DevOps ã®æ¯éšãªãŒããŒã§ãã Matt Law æ°ã¯è¿°ã¹ãŠããŸãã ãéçºè ã¯ãDocker ã®ã³ã³ããåã¢ãããŒãã®ãããã§ãç°å¢éã§äžè²«æ§ãä¿ã¡ãªãããèªåã®ãã·ã³ã§ããŒã«ã«ã«ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããã³ãã¹ãã§ããŸããã
Dockerã¯ãå瀟ã®éçºè ã«æ°ããªèªåŸæ§ããããããã¢ã€ãã¢ããã¹ãããããã«ããã¯ã解決ããããã®æ°ããããè¯ãæ¹æ³ãèŠã€ããããšãã§ãããšLawæ°ã¯è¿°ã¹ãŠããŸãã ããããç§ãã¡ãããã§æã£ãŠããéèŠãªå²åŠã§ããéçºè ãèªåã®å²åŠãçè«ã蚌æãŸãã¯å蚌ããã®ã«åœ¹ç«ã€ããŒã«ã詊ãããšãå¯èœã«ããŸããã
ã¢ã¿ãã«ãã³ãŒãã¬ãŒã·ã§ã³
Docker ã®å¥ã®é¡§å®¢ã§ããããã³ããæ ç¹ãšããããŒã¿ç®¡çãœãããŠã§ã¢ ãã³ããŒã® Ataccama Corp. ã¯ãç©çãµãŒããŒãã AWS ã Azure ãªã©ã®ã¯ã©ãŠã ãã©ãããã©ãŒã ã«ç§»è¡ããŠããžãã¹ãæ¡å€§ããéã«ãDocker ãš DevOps ã®ãã©ã¯ãã£ã¹ãæ¡çšããã³ã³ããåã䜿çšããŠä¿ææ§ãã¹ã±ãŒã©ããªãã£ãã³ã¹ãå¹çãåäžãããŸãããÂ
Ataccamaã®å ŽåãDockerã¯è¿ éãªãããã€ãã¢ããªã±ãŒã·ã§ã³ç®¡çã®ç°¡çŽ åãç°å¢éã®ã·ãŒã ã¬ã¹ãªç§»æ€æ§ãæäŸããæ©èœéçºã®å éãå¹çãšããã©ãŒãã³ã¹ã®åäžã貎éãªãã€ã¯ããµãŒãã¹æ©èœãå¿ èŠãªã»ãã¥ãªãã£ãšé«å¯çšæ§ãå®çŸããŸããã éçºè ãšITãããŒãžã£ãŒã«ãšã£ãŠDockerã®äŸ¡å€ãé«ããããã«ãAtaccamaã¯ã³ã³ãããšDevOpsã®ã¹ãã«ãã¬ãŒãã³ã°ãæäŸããã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ããŠãDockerãäŒç€Ÿãšãã®éå¶ã«ãšã£ãŠäžå¯æ¬ ãªããŒã«ãšãã©ãããã©ãŒã ã«ããŸããã
ãDockerãä»ãšã¯äžç·ãç»ããŠããã®ã¯ãOpen Container Initiative(OCI)ã®ãããªãªãŒãã³ã¹ã¿ã³ããŒãã®ãµããŒããšããã®é©ãã¹ãæè»æ§ã§ãããšãAtaccamaã®ã·ãã¢DevOpsãšã³ãžãã¢ã§ããVladimir Mikhalevæ°ã¯è¿°ã¹ãŠããŸãã ãããã¯ãåã«ã³ã³ããã皌åãããã ãã§ã¯ãããŸããã Docker ã䜿çšãããšãã»ãšãã©ã®ããŒã«ã§ã¯å¯Ÿå¿ã§ããªãæ¹æ³ã§ãã€ã³ãã©ã¹ãã©ã¯ãã£å šäœã§ã³ã³ããåãããã¢ããªãã·ãŒã ã¬ã¹ã«æ§ç¯ãå ±æã管çã§ããŸããã
Dockerã®æã圱é¿åã®ããæ©èœã¯ãã¢ããªãèšå®ãäŸåé¢ä¿ã1ã€ã®æšæºåããããŠãããã«ãã³ãã«ããæ©èœã ãšMikhalevæ°ã¯è¿°ã¹ãŠããŸãã ããã®ã¬ãã«ã®ã«ãã»ã«åã¯ãç°å¢ã®äžæŽåãæé€ããããã®ã²ãŒã ãã§ã³ãžã£ãŒã§ãããã
ãŸãšã
Docker ã¯ãDevOps ãã©ã¯ãã£ã¹ãæ¡çšããŠããäŒæ¥ã«å€é©çãªåœ±é¿ãäžããŸãã Dockerãã©ãããã©ãŒã ã䜿çšãããšãéçºè ã¯è»œéã³ã³ããå ã§ã¢ããªã±ãŒã·ã§ã³ãäœæãå ±åäœæ¥ããã¹ããç£èŠãåºè·ãããã³å®è¡ã§ãããããããåªããã³ãŒããããè¿ éã«æäŸã§ããããã«ãªããŸããÂ
Docker ã¯ãéçºããã»ã¹ãç°¡çŽ åãã匷åããçç£æ§ãåäžãããããŸããŸãªç°å¢ã«ãããã¢ããªã±ãŒã·ã§ã³ã®ä¿¡é Œæ§ãåäžãããŸããÂ
DevOpsã¯ãŒã¯ãããŒã匷åããããã®é©å㪠Dockerãµãã¹ã¯ãªãã·ã§ã³ ãèŠã€ããŠãã ãããÂ
ããã«è©³ãã
- ãDocker for Web Developers: Getting Started with the Basicsãããèªã¿ãã ããã
- Docker Newsletter ã賌èªããŠãã ãããÂ
- Docker ã§ããŒã ãæåã«å°ãæ¹æ³ãã芧ãã ãããÂ
- ããªãã®ããŒã ã«æé©ãª äŸ¡æ Œ ãèŠã€ããŠãã ãããÂ
- ææ°ããŒãžã§ã³ã® Docker Desktop ãããŠã³ããŒãããŸããÂ
- Docker Resources ã«ã¢ã¯ã»ã¹ããŠã ãã®ä»ã®è³æã調ã¹ãŠãã ããã