Dockerã¯ãã¢ããªã±ãŒã·ã§ã³ãéçºã»ãããã€ã»å®è¡ããããã®ãªãŒãã³ãœãŒã¹ã®ãã©ãããã©ãŒã ã§ãã ãã³ã³ããããšåŒã°ããç¬ç«ããç°å¢ãå©çšããããšã§ãéçºç°å¢ãšæ¬çªç°å¢ã®å·®ç°ããªãããã©ãã§ãåãããã«åäœãããããšãã§ããŸãã 第1ç« ã§ã¯ãDockerãã©ã®ãããªä»çµã¿ã§åããŠããã®ãããã®ãã¢ãŒããã¯ãã£ïŒæ§é ïŒããå³è§£ã§åããããã解説ããŸãã 1. Dockerã®å
šäœåïŒ3倧èŠçŽ ïŒ Dockerã®ã¢ãŒããã¯ãã£ã¯ãäž»ã«ä»¥äžã®3ã€ã®åœ¹å²ã«åãããŠããŸãã 1. ClientïŒã¯ã©ã€ã¢ã³ãïŒ * ç§ãã¡ãã¿ãŒããã«ã§å
¥åãã ã³ãã³ãïŒCLIïŒã§ãããŠãŒã¶ãŒããã®æç€ºãDocker Daemonã«éä¿¡ããŸãã 2. HostïŒãã¹ã / Docker DaemonïŒ * å®éã«ã³ã³ãããã€ã¡ãŒãžã管çããå®è¡ãããµãŒããŒã§ããè£ã§åããŠããæ¬äœïŒDaemonïŒããããŠã³ããŒããããã€ã¡ãŒãžãå®è¡äžã®ã³ã³ãããããã«ååšããŸãã 3. RegistryïŒã¬ãžã¹ããªïŒ * Dockerã€ã¡ãŒãžãä¿ç®¡ã»é
åžããå Žæã§ããããã©ã«ãã§ã¯å
¬åŒã®ãDocker Hubãã䜿ãããŸãã 2. ã¢ãŒããã¯ãã£ã®çžäºé¢ä¿ïŒå³è§£ïŒ ããã3ã€ã®èŠçŽ ãã©ã®ããã«é£æºããŠåãã®ããMermaidãã€ã¢ã°ã©ã ã§è¡šããšä»¥äžã®ããã«ãªããŸãã ã³ãã³ããå®è¡ããããšãã®æµã * ãå®è¡ãããšã: 1. Client ãã Host (Docker Daemon) ãžãã€ã¡ãŒãžã欲ããããšãããªã¯ãšã¹ããé£ã³ãŸãã 2. Daemon ã¯ããŒã«ã«ã«ã€ã¡ãŒãžããªãå ŽåãRegistry (Docker Hub) ãžã¢ã¯ã»ã¹ããŠã€ã¡ãŒãžãããŠã³ããŒãïŒãã«ïŒããHost å
ã«ä¿åããŸãã * ãå®è¡ãããšã: 1. Client ãã Daemon ãžãã³ã³ãããèµ·åããŠããšæç€ºããŸãã 2. Daemon ã¯æå®ãããã€ã¡ãŒãžãå
ã«ãHost äžã§éé¢ãããå®è¡ç°å¢ïŒã³ã³ããïŒãäœæããèµ·åããŸãã 3. ãªãDockerã䜿ããšãã©ãã§ãåããã®ãïŒ åŸæ¥ã®ä»®æ³ãã·ã³ïŒVMïŒã¯ãããŒããŠã§ã¢ãä»®æ³åãããã®äžã§äžžããšãã²ã¹ãOSããåãããŠããŸããããã®ãããèµ·åãé
ããåäœãéããšãã課é¡ããããŸããã äžæ¹ãDocker㯠ãã¹ãOSã®ã«ãŒãã«ïŒOSã®å¿èéšïŒãå
±æ ããããã»ã¹ãéé¢ããæè¡ïŒNamespacesãCgroupsãªã©ïŒã䜿çšããŸããããã«ãããOSãäžžããšèµ·åããå¿
èŠããªããªããéåžžã«è»œéãã€é«éã«åäœãããããšãã§ããŸãã æ¬¡ã®ãã£ãã¿ãŒã§ã¯ãããæ··åããããã€ã¡ãŒãžããšãã³ã³ãããã®éãã«ã€ããŠãããã«æ·±æãããŠåŠã³ãŸãããïŒ