ãå³è§£ã§æ¯èŒãPodman vs Docker â ã³ã³ããã©ã³ã¿ã€ã ã®æ°ããéžæè¢ãåŸ¹åºæ¯èŒ
ã³ã³ããã£ãŠèšã£ããDockerã®ã€ã¡ãŒãžãããªããã ãã©ãPodmanã£ãŠããã®ãããã®ïŒ
ãããªãã ããPodmanã¯Red Hat瀟ãéçºããã³ã³ããã©ã³ã¿ã€ã ã§ãDockerãšåãããã«ã³ã³ãããåãããããŒã«ãªãã ããŸããã³ã³ããã©ã³ã¿ã€ã ãã£ãŠããã®ã¯ãã³ã³ããã€ã¡ãŒãžããã³ã³ãããèµ·åã»ç®¡çãããœãããŠã§ã¢ã®ããšã ããDockerãäžçªæåã ãã©ãæè¿ã¯Podmanãéžã¶äººãããŒã ãå¢ããŠããŠãããã ã
ãã£ãDockerãããã®ã«ããããå¥ã®ããŒã«ã䜿ãçç±ã£ãŠãªã«ïŒ
äžçªå€§ããã®ã¯ãããŒã¢ã³ã¬ã¹ããšããèšèšã®éãã ããDockerã¯ããã¯ã°ã©ãŠã³ãã§åžžã«ãDocker DaemonïŒdockerdïŒããšããããã»ã¹ãåããŠããŠããã¹ãŠã®ã³ã³ããæäœããã®ããŒã¢ã³çµç±ã§è¡ããããã ãäžæ¹ãPodmanã«ã¯ããŒã¢ã³ããªããã³ãã³ããå®è¡ãããšãã®ããã»ã¹ãçŽæ¥ã³ã³ããã管çãããããããŒã¢ã³ãèœã¡ãŠå šã³ã³ãããéé£ãã«ãªãâŠã¿ãããªå¿é ããªããã ãã
ããŒã¢ã³ããªãã»ããå®å šã£ãŠããšãªã®ïŒ
ã»ãã¥ãªãã£é¢ã§ã¯å€§ããªã¡ãªãããããããDockerã®ããŒã¢ã³ã¯ããã©ã«ãã§rootæš©éã§åããããäžãäžããŒã¢ã³ã«è匱æ§ããããšããã¹ããã·ã³å šäœã«åœ±é¿ãåã¶ãªã¹ã¯ããããã ãPodmanã¯ãã«ãŒãã¬ã¹ã³ã³ããããæåãããµããŒãããŠããŠãäžè¬ãŠãŒã¶ãŒæš©éã ãã§ã³ã³ãããåããããrootæš©éãäžèŠã ãããæ»æãåãããšãã®è¢«å®³ç¯å²ãå°ããã§ãããã ãã
ãªãã»ã©âŠïŒPodmanã£ãŠååã®ãPodãã£ãŠKubernetesã®Podãšé¢ä¿ããã®ããªïŒ
ãŸãã«ãã®éãã ããPodmanã¯Kubernetesã®PodæŠå¿µããã€ãã£ãã«ãµããŒãããŠãããã ããpodman pod createãã³ãã³ãã§è€æ°ã®ã³ã³ãããã²ãšã€ã®PodãšããŠãŸãšããŠç®¡çã§ãããããããpodman generate kubeãã§Podã®å®çŸ©ãKubernetesã®YAMLãšããŠåºåã§ãããããããŒã«ã«ã§è©Šããæ§æããã®ãŸãŸKubernetesã¯ã©ã¹ã¿ã«ãããã€ãããããã ããDockerã«ã¯ãã®æ©èœããªããããKubernetesåæã®éçºã§ã¯Podmanã䟿å©ã ãã
ã§ãDockerã®ã³ãã³ãã«æ £ããŠããšãä¹ãæããã®å€§å€ãããªãã®ïŒ
å®ã¯Podmanã¯Dockerãšã»ãŒå®å šã«ã³ãã³ãäºæãªãã ãããalias docker=podmanããšãšã€ãªã¢ã¹ãèšå®ããã ãã§ãdocker buildãdocker runããã®ãŸãŸåããDockerfileããã®ãŸãŸäœ¿ããããDocker Composeã®ä»£ããã«ãpodman-composeããæè¿ã®ããŒãžã§ã³ã§ã¯PodmanèªäœãCompose察å¿ããŠãããããç§»è¡ã³ã¹ãã¯ããªãäœããã ã
ãããªãã ãïŒãããDockerã®ã¡ãªããã£ãŠãªã«ãããã®ïŒ
Dockerã¯ãšã³ã·ã¹ãã ã®æç床ãå§åçã ããDocker HubãDocker ComposeãDocker Desktopãè±å¯ãªããã¥ã¡ã³ããæžç±ãã³ãã¥ããã£ã®å€§ããã¯ä»ã§ãDockerãåªäœã ãããã ãDocker Desktopã¯2022幎ããåŸæ¥å¡250人以äžãŸãã¯å¹Žé売äž1000äžãã«ä»¥äžã®äŒæ¥ã§ã¯ææã©ã€ã»ã³ã¹ãå¿ èŠã«ãªã£ããã ãããããã£ããã§Podmanã«ç§»è¡ããäŒæ¥ãå¢ãããã ãã
ã©ã€ã»ã³ã¹ã®åé¡ããããã ãâŠãçµå±ã©ã£ã¡ã䜿ãã°ããã®ããªïŒ
䜿ãåãã®ç®å®ãšããŠã¯ããããªæãã ããå人éçºãåŠç¿ç®çãªãDockerã®æ å ±éã®å€ããæå©ãäŒæ¥ã§ã»ãã¥ãªãã£ãã©ã€ã»ã³ã¹ã³ã¹ããéèŠãããªãPodmanãKubernetesãžã®ãããã€åæã®ãããžã§ã¯ããªãPodmanã®Podæ©èœã䟿å©ãCI/CDãã€ãã©ã€ã³ã§ã¯ããŒã¢ã³ã¬ã¹ã®Podmanãæ±ããããå Žé¢ãå€ããã
ãªãã»ã©ãå Žé¢ã«ãã£ãŠäœ¿ãåããã®ã倧äºãªãã ãïŒ
ããã ããã¡ãªã¿ã«ããã©ã³ãšã³ãžãã¢åãã®è©±ããããšãPodmanã¯OCIïŒOpen Container InitiativeïŒæšæºã«æºæ ããŠããŠãå éšçã«ã¯crun/runcãšããã©ã³ã¿ã€ã ã䜿ã£ãŠãããã ãDockerãåããOCIæºæ ã ãããã³ã³ããã€ã¡ãŒãžèªäœã¯å®å šã«äºææ§ããããã€ãŸãã©ã¡ãã§äœã£ãã€ã¡ãŒãžã§ãçžäºã«åããããã ããæè¿ã¯KubernetesãDockerã©ã³ã¿ã€ã ã®ãµããŒãã廿¢ããŠãcontainerdãCRI-Oã«ç§»è¡ããæµãããã£ãŠããDockeräžåŒ·ãã®æä»£ã¯çµããã€ã€ãããã ã
ã³ã³ããã®äžçãè²ã å€ãã£ãŠããã ãâŠïŒãŸãã¯äž¡æ¹è§Šã£ãŠã¿ããããªïŒ
ããå¿ããã ããPodmanã¯ã€ã³ã¹ããŒã«ãç°¡åã§ãDockerã®ç¥èããã®ãŸãŸäœ¿ããããããã²è©ŠããŠã¿ãŠã»ãããããpodman run hello-worldãããå§ããŠã¿ããšããããã³ã³ããæè¡ã¯ã¯ã©ãŠããã€ãã£ãæä»£ã®å¿ é ã¹ãã«ã ãããéžæè¢ãç¥ã£ãŠããããšã倧äºã ãã