ã2026幎çãDockerã®å§ãæ¹ â ã€ã³ã¹ããŒã«ããæåã®ã³ã³ãããŸã§å®å šã¬ã€ã
Dockerã£ãŠããèããã©ãçµå±ãªã«ãã§ãããã®ãªã®ïŒ
ã²ãšããšã§èšããšãã¢ããªã®åäœç°å¢ããŸãããšããã±ãŒãžã«ããŠãã©ãã§ãåãããã«åããããä»çµã¿ã ããéçºè ãããèšããèªåã®ããœã³ã³ã§ã¯åããã®ã«âŠãã£ãŠããåé¡ã解決ããŠããããã ã
ããŒãç°å¢ãéããšåããªãã£ãŠãã€ã ããã§ãã©ããã£ãŠã€ã³ã¹ããŒã«ããã®ïŒ
äžçªãããããªã®ã¯Docker Desktopãã€ã³ã¹ããŒã«ããæ¹æ³ã ããå ¬åŒãµã€ãããããŠã³ããŒãããŠãã€ã³ã¹ããŒã©ãŒãå®è¡ããã ããWindowsãMacãLinuxã©ãã§ã察å¿ããŠããããã€ã³ã¹ããŒã«ãçµãã£ããã¿ãŒããã«ã§ãdocker versionããšæã£ãŠãããŒãžã§ã³æ å ±ã衚瀺ãããã°æºåå®äºã ãã
ã§ããïŒã§ãæåã¯ãªã«ãããã°ããã®ïŒ
ãŸãã¯ãdocker run hello-worldããå®è¡ããŠã¿ãããããã¯Dockerå ¬åŒã®åäœç¢ºèªçšã€ã¡ãŒãžã§ãæ£ããã€ã³ã¹ããŒã«ã§ããŠããã確èªã§ãããã ãæåãããšãHello from Docker!ããšããã¡ãã»ãŒãžã衚瀺ããããã
衚瀺ãããïŒã§ããã€ã¡ãŒãžããšãã³ã³ãããã£ãŠãªã«ãéãã®ïŒ
ã€ã¡ãŒãžã¯ãèšèšå³ããããã³ãã¬ãŒããã¿ãããªãã®ã§ãã³ã³ããã¯ãã®èšèšå³ããäœã£ããå®éã«åããŠãããã®ãã ããããšãã°ã¯ãããŒã®åãã€ã¡ãŒãžã§ãçŒãäžãã£ãã¯ãããŒãã³ã³ããã ããã²ãšã€ã®ã€ã¡ãŒãžããäœåã§ãã³ã³ãããäœãããã ã
ãªãã»ã©ïŒãããããã¡ãã£ãšå®çšçãªããšããã£ãŠã¿ãããªãWebãµãŒããŒãšãåãããã®ïŒ
ãã¡ããããdocker run -d -p 8080:80 nginxããšå®è¡ãããšãnginxã®WebãµãŒããŒãã³ã³ãããšããŠèµ·åãããããã©ãŠã¶ã§ localhost ã®8080çªããŒãã«ã¢ã¯ã»ã¹ãããšãnginxã®åæç»é¢ã衚瀺ãããã¯ãã ããã-dãã¯ããã¯ã°ã©ãŠã³ãå®è¡ãã-p 8080:80ãã¯ããŒã転éã®èšå®ã ãã
ããããäžç¬ã§WebãµãŒããŒãç«ã¡äžãã£ããïŒèªåã®ã¢ããªãã³ã³ããã«ã§ããã®ïŒ
ãã®ããã«Dockerfileãæžããã ããDockerfileã¯ã€ã¡ãŒãžã®äœãæ¹ãæžããã¬ã·ãã¿ãããªãã®ã§ãããŒã¹ã€ã¡ãŒãžã®æå®ããã¡ã€ã«ã®ã³ããŒãã³ãã³ãã®å®è¡ãããŒãã®å ¬éãªã©ãé çªã«èšè¿°ããŠãããã ãããšãã°Node.jsã¢ããªãªããããŒã¹ã«nodeã€ã¡ãŒãžãæå®ããŠããœãŒã¹ã³ãŒããã³ããŒããŠãnpm installããŠãèµ·åã³ãã³ããèšå®ããæµãã ãã
Dockerfileãæžãããããã®ããšã¯ã©ãããã®ïŒ
ãdocker build -t ã¢ããªå .ãã§ã€ã¡ãŒãžããã«ãããŠããdocker run ã¢ããªåãã§å®è¡ãããããã«ãããã€ã¡ãŒãžã¯Docker Hubã«ããã·ã¥ããã°ãä»ã®äººããµãŒããŒã§ãåãã€ã¡ãŒãžã䜿ãããã ãDocker Hubã¯ã€ã¡ãŒãžã®å ±æãµãŒãã¹ã§ãGitHubã®Dockerçã¿ãããªãã®ã ãã
è€æ°ã®ã³ã³ãããçµã¿åãããããšãã¯ã©ãããã®ïŒããšãã°Webã¢ããªãšããŒã¿ããŒã¹ãšãã
Docker Composeã䜿ããšäŸ¿å©ã ããdocker-compose.ymlãšãããã¡ã€ã«ã«ã䜿ããµãŒãã¹ããŸãšããŠå®çŸ©ã§ãããã ãWebã¢ããªãããŒã¿ããŒã¹ããã£ãã·ã¥ãµãŒããŒãªã©ãäžã€ã®ãã¡ã€ã«ã«æžããŠããdocker compose upãäžçºã§å šéšèµ·åã§ããããéçºç°å¢ã®æ§ç¯ããã¡ããã¡ã楜ã«ãªããã ã
ããŒã¿ããŒã¹ã®ããŒã¿ã£ãŠã³ã³ãããæ¢ãããæ¶ãã¡ããã®ïŒ
ãã質åã ããããã©ã«ãã§ã¯ã³ã³ãããåé€ãããšããŒã¿ãæ¶ãããã ãã©ããããªã¥ãŒã ããšããä»çµã¿ã䜿ãã°ããŒã¿ãæ°žç¶åã§ããããããªã¥ãŒã ã¯ã³ã³ããã®å€ã«ããŒã¿ãä¿åããé åã§ãã³ã³ãããäœãçŽããŠãããŒã¿ãæ®ããã ãããšãã³ã³ããå士ã®éä¿¡ã«ã¯Dockerãããã¯ãŒã¯ã䜿ãããåããããã¯ãŒã¯å ãªããµãŒãã¹åã§éä¿¡ã§ãããããIPã¢ãã¬ã¹ãæ°ã«ããªããŠãããã ã
å®éã®çŸå Žã§ã¯ã©ããªãµãã«äœ¿ãããŠããã®ïŒ
éçºç°å¢ã®çµ±äžããã¡ã°ãå€ããŠãŒã¹ã±ãŒã¹ã ããæ°ã¡ã³ããŒãå ¥ã£ãŠããdocker compose upãã§åãç°å¢ãããäœãããããšã¯CI/CDãã€ãã©ã€ã³ã§ã®ãã¹ãå®è¡ããæ¬çªç°å¢ãžã®ãããã€ã«ã䜿ãããããKubernetesãšçµã¿åãããã°å€§èŠæš¡ãªæ¬çªéçšãã§ãããã ã
Dockerã䜿ãå§ãããæ°ãã€ããããšã£ãŠããã®ïŒ
ã€ã¡ãŒãžãµã€ãºã®æé©åã¯æèããã»ããããããããšãã°Node.jsãªãnodeã®éåžžã€ã¡ãŒãžã¯1GBè¿ããããã©ãAlpineçã䜿ãã°100MBå°ã«æãããããããšãã«ãã¹ããŒãžãã«ããšãããã¯ããã¯ã䜿ããšããã«ãã«å¿ èŠãªããŒã«ãæçµã€ã¡ãŒãžã«å«ããã«æžããããããã«è»œéåã§ãããã ã
ã»ãã¥ãªãã£é¢ã§æ³šæããããšãããã®ïŒ
ãããããdocker scoutãããtrivyããªã©ã®ããŒã«ã§ã€ã¡ãŒãžã®è匱æ§ã¹ãã£ã³ãããã®ã倧äºã ããããŒã¹ã€ã¡ãŒãžã¯ãªãã¹ãå ¬åŒã®ãã®ã䜿ã£ãŠã宿çã«ã¢ããããŒãããããšãããšã³ã³ãããrootæš©éã§åãããªãã®ãåºæ¬ã ããDockerfileã§ãŠãŒã¶ãŒãæå®ããŠãæå°éã®æš©éã§åããã®ããã¹ããã©ã¯ãã£ã¹ã ããæ £ããŠããããã²æèããŠã¿ãŠã»ãããªã