Dockerã䜿ãå§ãããšããååãšç§ã¯åãææ ãæããŸããã ã»ãšãã©ã®å Žåãããã¯åºæ¬çãªã¡ã«ããºã ã®ç解äžè¶³ã«èµ·å ããããããã®åäœã¯äºæž¬äžå¯èœã§ããããã«æãããŸããã ä»ãæ ç±ã¯éãŸããæãã¿ã®çºçã¯ãŸããŸãå°ãªããªã£ãŠããŸãã ããã«ãç§ãã¡ã¯å®éã«ãã®ã¡ãªãããåŸã ã«è©äŸ¡ãã奜ãã«ãªãå§ããŸã...äžæ¬¡æåŠã®åºŠåããæžããã䜿çšã®å¹æãæ倧åããã«ã¯ãDockerã®ãããã³ãããèŠãŠããããããèŠãŠãã ããã
Dockerãå¿ èŠãªãã®ããå§ããŸãããïŒ
- ã³ã³ããå ã®ã¢ããªã±ãŒã·ã§ã³ã®åç¬èµ·å
- ã¢ããªã±ãŒã·ã§ã³ã®éçºããã¹ããããã³å±éã®ç°¡çŽ å
- å®è¡ããããã«ç°å¢ãæ§æããå¿ èŠã¯ãããŸãã-ã¢ããªã±ãŒã·ã§ã³ã«ä»å±ããŠããŸã-ã³ã³ããå
- ã³ã³ãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã·ã¹ãã ã«ãããã¢ããªã±ãŒã·ã§ã³ã®ã¹ã±ãŒã©ããªãã£ãšç®¡çãç°¡çŽ åããŸãã
å å²æ代
ä»®æ³ãã·ã³ã䜿çšããŠãåããã¹ãã§å®è¡ãããŠããããã»ã¹ãåé¢ããç°ãªããã©ãããã©ãŒã çšã«èšèšãããã¢ããªã±ãŒã·ã§ã³ãå®è¡ã§ããŸãã ä»®æ³ãã·ã³ã¯ããã¹ãã®ç©çãªãœãŒã¹ãå ±æããŸãã
- ããã»ããµ
- èšæ¶
- ãã£ã¹ã¯ã¹ããŒã¹
- ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹ã
åVMã§ãç®çã®OSãã€ã³ã¹ããŒã«ããã¢ããªã±ãŒã·ã§ã³ãå®è¡ããŸãã ãã®ã¢ãããŒãã®æ¬ ç¹ã¯ããã¹ãã®ãªãœãŒã¹ã®å€§éšåããã€ããŒãïŒã¢ããªã±ãŒã·ã§ã³äœæ¥ïŒã§ã¯ãªããããã€ãã®OSã®åäœã«è²»ããããããšã§ãã
ã³ã³ãã
ã¢ããªã±ãŒã·ã§ã³ãåé¢ããå¥ã®ã¢ãããŒãã¯ãã³ã³ããã§ãã ã³ã³ããã®æŠå¿µã¯æ°ãããã®ã§ã¯ãªããLinuxã§é·ãéç¥ãããŠããŸãã 1ã€ã®OSå ã®éé¢ãããé åãåé¢ãããã®äžã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ãããšããèãæ¹ã§ãã ãã®å ŽåãOSã¬ãã«ã®ä»®æ³åã«ã€ããŠè©±ããŸãã VMãšã¯ç°ãªããã³ã³ããã¯OSã¹ã©ã€ã¹ãåç¬ã§äœ¿çšããŸãã
- ãã¡ã€ã«ã·ã¹ãã
- ããã»ã¹ããªãŒ
- ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹
- ãã®ä»
T.O. ã³ã³ããã§å®è¡ãããŠããã¢ããªã±ãŒã·ã§ã³ã¯ãOSå šäœã®1ã€ã§ãããšèŠãªããŸãã åé¢ã¯ã åå空éãã³ã³ãããŒã«ã°ã«ãŒããªã©ã®Linuxã¡ã«ããºã ã䜿çšããŠå®çŸãããŸã ã ç°¡åã«èšãã°ãåå空éã¯OSå ã§ã®åé¢ãæäŸããå¶åŸ¡ã°ã«ãŒãã¯ã³ã³ãããŒã®ãã¹ããªãœãŒã¹ã®æ¶è²»ã«å¶éãèšå®ããŠãå®è¡äžã®ã³ã³ãããŒéã®ãªãœãŒã¹ã®åæ£ã調æŽããŸãã
T.O. ã³ã³ããèªäœã¯æ°ãããã®ã§ã¯ãªããDockerãããžã§ã¯ãã ããã第äžã«ãåå空éãã³ã³ãããŒã«ã°ã«ãŒãã®è€éãªã¡ã«ããºã ãé ãã第äºã«ããœãããŠã§ã¢éçºã®ãã¹ãŠã®æ®µéã§ã³ã³ããã䟿å©ã«äœ¿çšã§ãããšã³ã·ã¹ãã ã«å²ãŸããŠããŸãã
ç»å
æåã®è¿äŒŒã§ã¯ãç»åã¯ãã¡ã€ã«ã®ã»ãããšèŠãªãããšãã§ããŸãã ã€ã¡ãŒãžã«ã¯ãããã«ãŒãåãããã¢ãã·ã³ã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããã³å®è¡ããããã«å¿ èŠãªãã¹ãŠã®ãã®ãå«ãŸããŸãïŒOSãã©ã³ã¿ã€ã ãããã³å±éã®æºåãã§ããã¢ããªã±ãŒã·ã§ã³ã
ãããããã®ãããªèæ ®äºé ã§ã¯ãåããã¹ãäžã§è€æ°ã®ã€ã¡ãŒãžã䜿çšããå ŽåãããŒãã®èŠ³ç¹ãšã¹ãã¬ãŒãžã®èŠ³ç¹ã®äž¡æ¹ããéåççã§ãããããã»ãšãã©ã®ãã¡ã€ã«ãç¹°ãè¿ããããããåã€ã¡ãŒãžãäœæ¥ã«å¿ èŠãªãã¹ãŠããã©ãã°ããŸããç°ãªã-èµ·åãããã¢ããªã±ãŒã·ã§ã³ãšãå Žåã«ãã£ãŠã¯ã©ã³ã¿ã€ã ã®ã¿ã ã€ã¡ãŒãžã®æ§é ã«ããããã¡ã€ã«ã®éè€ãé¿ããããšãã§ããŸãã
ã€ã¡ãŒãžã¯ã¬ã€ã€ãŒã§æ§æãããåã¬ã€ã€ãŒã¯äžå€ã®ãã¡ã€ã«ã·ã¹ãã ã§ããããã¡ã€ã«ãšãã£ã¬ã¯ããªã®åçŽãªã»ããã§ãã ã€ã¡ãŒãžå šäœã¯ããã¡ã€ã«ã·ã¹ãã ã¬ã€ã€ãŒãããŒãžããçµæãšèŠãªãããšãã§ããçµ±åãã¡ã€ã«ã·ã¹ãã ïŒãŠããªã³ãã¡ã€ã«ã·ã¹ãã ïŒã§ãã çµåããããã¡ã€ã«ã·ã¹ãã ã¯ãããšãã°ãåãååã®ãã¡ã€ã«ãšãã£ã¬ã¯ããªãç°ãªãã¬ã€ã€ãŒã«ååšããå Žåã競åãåŠçã§ããŸãã 次ã®åã¬ã€ã€ãŒã¯ãåã®ã¬ã€ã€ãŒããããã€ãã®ãã¡ã€ã«ãè¿œå ãŸãã¯åé€ããŸãã ãã®æèã§ã¯ããåé€ãã¯ãé èœããã€ãŸã äžå±€ã®ãã¡ã€ã«ã¯æ®ããŸãããçµåããããã¡ã€ã«ã·ã¹ãã ã§ã¯è¡šç€ºãããŸããã
Gitã§é¡æšã§ããŸããã¬ã€ã€ãŒã¯åå¥ã®ã³ãããã®ãããªãã®ã§ãããç»åå šäœã¯ã¹ã«ãã·ã¥æäœã®çµæã§ãã åŸã§èŠãããã«ãGitãšã®é¡äŒŒç¹ã¯ããã§çµããã§ã¯ãããŸããã ãã§ãã¬ãŒã·ã§ã³ãã¡ã€ã«ã·ã¹ãã ã«ã¯ããŸããŸãªå®è£ ãããããã®ãã¡ã®1ã€ãAUFSã§ãã
ããšãã°ãä»»æã®.NETã¢ããªã±ãŒã·ã§ã³MyApplicationã®ã€ã¡ãŒãžãèããŸããæåã®ã¬ã€ã€ãŒã¯Linuxã«ãŒãã«ã§ããã®åŸã«OSãã©ã³ã¿ã€ã ãããã³ã¢ããªã±ãŒã·ã§ã³èªäœã®ã¬ã€ã€ãŒãç¶ããŸãã
ã¬ã€ã€ãŒã¯èªã¿åãå°çšã§ãããããããããã¬ã€ã€ãŒã«ãããã¡ã€ã«ãMyApplicationã¬ã€ã€ãŒã§å€æŽããå¿ èŠãããå Žåããã¡ã€ã«ã¯æåã«ç®çã®ã¬ã€ã€ãŒã«ã³ããŒããã次ã«å€æŽãããå ã®åœ¢åŒã§å ã®ã¬ã€ã€ãŒã«æ®ããŸãã
ã¬ã€ã€ãŒã®äžå€æ§ã«ããããã¹ãäžã®ãã¹ãŠã®ã€ã¡ãŒãžã§ã¬ã€ã€ãŒã䜿çšã§ããŸãã MyApplicationã¯ãããŒã¿ããŒã¹ã䜿çšããNodeJSãµãŒããŒãšã察話ããWebã¢ããªã±ãŒã·ã§ã³ã§ãããšããŸãã
ç»åãããŠã³ããŒãããéã«ãå ±æã¯æããã§ãã ãããã§ã¹ããæåã«ããŒãããŸããããã«ã¯ãã€ã¡ãŒãžã«å«ãŸããã¬ã€ã€ãŒãèšè¿°ãããŸãã 次ã«ããããã§ã¹ããããŸã ããŒã«ã«ã«ãªãã¬ã€ã€ãŒã®ã¿ãããŠã³ããŒããããŸãã T.O. MyApplicationã§æ¢ã«ã«ãŒãã«ãšOSãããŠã³ããŒãããŠããå ŽåãPostgreSQLããã³Node.jsã§ã¯ãããã®ã¬ã€ã€ãŒã¯èªã¿èŸŒãŸããŸããã
èŠçŽãããšïŒ
- ã€ã¡ãŒãžã¯ãDockerãã€ã³ã¹ããŒã«ããããã¢ãã·ã³ã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããã«å¿ èŠãªãã¡ã€ã«ã®ã»ããã§ãã
- ã€ã¡ãŒãžã¯äžå€ã®ã¬ã€ã€ãŒã§æ§æãããåã¬ã€ã€ãŒã¯åã®ã¬ã€ã€ãŒã®ãã¡ã€ã«ãè¿œå /åé€/å€æŽããŸãã
- ã¬ã€ã€ãŒã®äžå€æ§ã«ãããã¬ã€ã€ãŒãç°ãªãã€ã¡ãŒãžã§äžç·ã«äœ¿çšã§ããŸãã
Dockerã³ã³ãããŒ
Dockerã³ã³ããã¯ãã€ã¡ãŒãžã«åºã¥ããŠæ§ç¯ãããŸãã ç»åãã³ã³ããã«å€æããæ¬è³ªã¯ãèšé²ãèš±å¯ããæäžäœã¬ã€ã€ãŒãè¿œå ããããšã§ãã ã¢ããªã±ãŒã·ã§ã³ã®çµæïŒãã¡ã€ã«ïŒã¯ãã®ã¬ã€ã€ãŒã«æžã蟌ãŸããŸãã
ããšãã°ãPostgreSQLãµãŒããŒã§ã€ã¡ãŒãžã«åºã¥ããŠã³ã³ãããäœæããèµ·åããŸããã ããŒã¿ããŒã¹ãäœæãããšã察å¿ãããã¡ã€ã«ãã³ã³ããã®æäžå±€ãã€ãŸãèšé²å±€ã«è¡šç€ºãããŸãã
ã³ã³ããããã€ã¡ãŒãžãäœæããããã«ãéã®æäœãå®è¡ã§ããŸãã ã³ã³ããã®æäžå±€ã¯ãæžã蟌ã¿èš±å¯ã®ã¿ãä»ã®å±€ãšç°ãªããŸãããã以å€ã¯ãéåžžã®å±€ïŒãã¡ã€ã«ãšãã£ã¬ã¯ããªã®ã»ããïŒã§ãã æäžå±€ãèªã¿åãå°çšã«ããŠãã³ã³ãããç»åã«å€æããŸãã
ããã§ãã€ã¡ãŒãžãå¥ã®ãã·ã³ã«è»¢éããŠå®è¡ã§ããŸãã åæã«ãåã®æé ã§äœæããããŒã¿ããŒã¹ãPostgreSQLãµãŒããŒã§ç¢ºèªã§ããŸãã ã³ã³ããã®æäœäžã«å€æŽãè¡ããããšãããŒã¿ããŒã¹ãã¡ã€ã«ã¯äžå€ããŒã¿ã¬ã€ã€ãŒããèšé²ã¬ã€ã€ãŒã«ã³ããŒãããããã§æ¢ã«å€æŽãããŠããŸãã
Docker
ããŒã«ã«ãã·ã³ã«ããã«ãŒãã€ã³ã¹ããŒã«ãããšãã¯ã©ã€ã¢ã³ãïŒCLIïŒãšãããŒã¢ã³ãšããŠæ©èœããhttpãµãŒããŒãååŸãããŸãã ãµãŒããŒã¯REST APIãæäŸããã³ã³ãœãŒã«ã¯å ¥åãããã³ãã³ããåçŽã«httpãªã¯ãšã¹ãã«å€æããŸãã
ç»é²
ã¬ãžã¹ããªã¯ç»åã®ãªããžããªã§ãã æãæåãªã®ã¯DockerHubã§ãã GitHubã«äŒŒãŠããããœãŒã¹ã³ãŒãã§ã¯ãªãç»åã®ã¿ãå«ãŸããŠããŸãã DockerHubã«ã¯ããããªãã¯ããã³ãã©ã€ããŒãã®ãªããžããªããããç»åãããŠã³ããŒãïŒãã«ïŒãç»åã®å€æŽãã¢ããããŒãïŒããã·ã¥ïŒã§ããŸãã äžåºŠããŠã³ããŒããããç»åãšã³ã³ããã¯ãæåã§åé€ããããŸã§ããŒã«ã«ã«ä¿åãããŸãã
ç¬èªã®ã€ã¡ãŒãžã¹ãã¬ãŒãžãäœæããå¯èœæ§ããããå¿ èŠã«å¿ããŠãDockerã¯ãŸã ããŒã«ã«ã«ååšããªãã€ã¡ãŒãžãæ¢ããŸãã Dockerã䜿çšããå Žåãã€ã¡ãŒãžã¹ãã¬ãŒãžã¯CI / CDã®æãéèŠãªãªã³ã¯ã«ãªããŸããéçºè ã¯ãªããžããªã«ã³ããããããã¹ããå®è¡ãããŸãã ãã¹ããæåããå Žåãã³ãããã«åºã¥ããŠãæ¢åã®ã€ã¡ãŒãžãæŽæ°ãããããæ°ããã€ã¡ãŒãžãåŸç¶ã®å±éã§ã¢ã»ã³ãã«ãããŸãã ãŸããã¬ãžã¹ããªã§ã¯ãç»åå šäœã§ã¯ãªããå¿ èŠãªã¬ã€ã€ãŒã®ã¿ãæŽæ°ãããŸãã
ã¢ããªã±ãŒã·ã§ã³ãåã«å®å ã«é ä¿¡ãããŠèµ·åããããããªäžçš®ã®ããã¯ã¹ãšããŠã®ã€ã¡ãŒãžã®èªèãå¶éããªãããšãéèŠã§ãã ãŸããã¢ããªã±ãŒã·ã§ã³ãã€ã¡ãŒãžå ã§ã¢ã»ã³ãã«ããããšãã§ããŸãïŒã³ã³ãããŒå ãšèšãæ¹ãæ£ç¢ºã§ãããããã«ã€ããŠã¯åŸã§è©³ãã説æããŸãïŒã äžã®å³ã§ã¯ãã€ã¡ãŒãžãæ§ç¯ãããµãŒããŒã«ã€ã³ã¹ããŒã«ã§ããã®ã¯Dockerã®ã¿ã§ãããã¢ããªã±ãŒã·ã§ã³ã®ããŸããŸãªã³ã³ããŒãã³ããæ§ç¯ããããã«å¿ èŠãªããŸããŸãªç°å¢ããã©ãããã©ãŒã ãããã³ã¢ããªã±ãŒã·ã§ã³ã¯ã€ã³ã¹ããŒã«ã§ããŸããã
Dockerfile
Dockerfileã¯ãæ°ããã€ã¡ãŒãžãäœæããããã®äžé£ã®åœä»€ã§ãã ååœä»€ã¯ãã€ã¡ãŒãžã«æ°ããã¬ã€ã€ãŒãè¿œå ããŸãã äŸãšããŠã以åã«èæ ®ãããŠãã.NETã¢ããªã±ãŒã·ã§ã³MyApplicationã®ã€ã¡ãŒãžãäœæã§ããDockerfileãèããŸãã
FROM microsoft/aspnetcore WORKDIR /app COPY bin/Debug/publish . ENTRYPOINT["dotnet", "MyApplication.dll"]
ååœä»€ãåå¥ã«æ€èšããŠã¿ãŸãããã
- åºæ¬çãªã€ã¡ãŒãžã決å®ããããã«åºã¥ããŠç¬èªã®ã€ã¡ãŒãžãæ§ç¯ããŸãã ãã®å ŽåãMicrosoftã®å ¬åŒã€ã¡ãŒãžã§ããmicrosoft / aspnetcoreã䜿çšããŸããããã¯DockerHubã«ãããŸã
- ç»åå ã«äœæ¥ãã£ã¬ã¯ããªãèšå®ããŸã
- äºåå
±æMyApplicationã¢ããªã±ãŒã·ã§ã³ãã€ã¡ãŒãžå
ã®äœæ¥ãã£ã¬ã¯ããªã«ã³ããŒããŸãã æåã«ããœãŒã¹ãã£ã¬ã¯ããªãæžã蟌ãŸããŸã
docker build
ã§æå®ãããã³ã³ããã¹ããžã®çžå¯Ÿãã¹ãããã³2çªç®ã®åŒæ°ã¯ã€ã¡ãŒãžå ã®ã¿ãŒã²ãããã£ã¬ã¯ããªã§ãããã®å Žåããããã¯äœæ¥ãã£ã¬ã¯ããªã瀺ããŸã - ã³ã³ãããå®è¡å¯èœãã¡ã€ã«ãšããŠèšå®ããŸãããã®å Žåã
dotnet MyApplication.dll
ã³ãã³ããå®è¡ãããŠã³ã³ãããèµ·åããŸã
Dockerfileã䜿çšããŠãã£ã¬ã¯ããªã§docker
docker build
ãå®è¡ãããšãmicrosoft / aspnetcoreã«åºã¥ããã€ã¡ãŒãžãååŸãããããã«3ã€ã®ã¬ã€ã€ãŒãè¿œå ãããŸãã
軜éã€ã¡ãŒãžçšã®åªããDockeræ©èœã瀺ãå¥ã®Dockerfileãæ€èšããŠãã ããã ã³ã³ããããµããŒããããããžã§ã¯ãçšã«åæ§ã®ãã¡ã€ã«ãVisualStudio 2017ã«ãã£ãŠçæãããã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒãããç»åãåéã§ããŸãã
FROM microsoft/aspnetcore-build:2.0 AS publish WORKDIR /src COPY . . RUN dotnet restore RUN dotnet publish -o /publish FROM microsoft/aspnetcore:2.0 WORKDIR /app COPY --from=publish /publish . ENTRYPOINT ["dotnet", "MyApplication.dll"]
ãã¡ã€ã«å ã®æ瀺ã¯ã2ã€ã®ã»ã¯ã·ã§ã³ã«åãããŠããŸãã
- ã¢ããªã±ãŒã·ã§ã³ããã«ãããããã®ã€ã¡ãŒãžã®å®çŸ©ïŒmicrosoft / aspnetcore-buildã ãã®ã€ã¡ãŒãžã¯ã.NETã¢ããªã±ãŒã·ã§ã³ããã«ããå
¬éãããã³å®è¡ããããã«èšèšãããŠãããã¿ã°ã2.0ã®DockerHubã«ãããšããµã€ãºã¯699 MBã§ãã 次ã«ãã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ãã¡ã€ã«ãã€ã¡ãŒãžã«ã³ããŒããããã®å
éšã§
dotnet restore
ããã³dotnet build
ã³ãã³ããdotnet restore
ããçµæãã€ã¡ãŒãžå ã®/ publishãã£ã¬ã¯ããªã«é 眮ãããŸãã - ããŒã¹ã€ã¡ãŒãžã¯æ±ºå®ãããŸãããã®å Žåã¯microsoft / aspnetcoreã§ãã©ã³ã¿ã€ã ã®ã¿ãå«ãŸãã DockerHubã®2.0ã¿ã°ã«ãããšããµã€ãºã¯141 MBã®ã¿ã§ã ã 次ã«ãäœæ¥ãã£ã¬ã¯ããªã決å®ãããåã®ã¹ããŒãžã®çµæãããã«ã³ããŒãããŸãïŒååã¯
--from
åŒæ°ã§æå®ãããŸãïŒãã³ã³ãããèµ·åããã³ãã³ãã決å®ããã--from
ã€ã¡ãŒãžãæºåã§ããŸããã
ãã®çµæãæåã«ã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒããååŸããSDKã䜿çšããŠéãã€ã¡ãŒãžã«åºã¥ããŠã¢ããªã±ãŒã·ã§ã³ãè€è£œããã©ã³ã¿ã€ã ã®ã¿ãå«ãæããã€ã¡ãŒãžã®äžã«çµæãé 眮ããŸããã
çµè«ãšããŠãDockerfileã§ã®äœæ¥ãèæ ®ããŠãç°¡åã«ããããã«ãã€ã¡ãŒãžã®æŠå¿µãæå³çã«æäœããããšã«æ³šæããŠãã ããã å®éãååœä»€ã«ãã£ãŠè¡ãããå€æŽã¯ããã¡ãããã€ã¡ãŒãžã§ã¯ãªãïŒçµå±ãäžå€ã®ã¬ã€ã€ãŒã®ã¿ãæã¡ãŸãïŒãã³ã³ãããŒã§çºçããŸãã ã¡ã«ããºã ã¯æ¬¡ã®ãšããã§ãïŒã³ã³ãããããŒã¹ã€ã¡ãŒãžããäœæããïŒèšé²çšã®ã¬ã€ã€ãŒãè¿œå ãããŸãïŒããã®ã¬ã€ã€ãŒã®åœä»€ãå®è¡ããïŒãã¡ã€ã«ãèšé²ã¬ã€ã€ãŒã«è¿œå ã§ããŸãïŒ
COPY
ãŸãã¯
ENTRYPOINT
ïŒã
ENTRYPOINT
docker commit
ã³ãã³ããåŒã³åºãããã€ã¡ãŒãžãååŸãããŸãã ã³ã³ãããäœæããŠã€ã¡ãŒãžã«ã³ãããããããã»ã¹ã¯ããã¡ã€ã«å ã®ååœä»€ã«å¯ŸããŠç¹°ãè¿ãããŸãã ãã®çµæãæçµã€ã¡ãŒãžã圢æããããã»ã¹ã§ããã¡ã€ã«å ã®æ瀺ãšåãæ°ã®äžéã€ã¡ãŒãžãšã³ã³ãããŒãäœæãããŸãã ãããã¯ãã¹ãŠãæçµã€ã¡ãŒãžã®ã¢ã»ã³ããªåŸã«èªåçã«åé€ãããŸãã
ãããã«
ãã¡ãããDockerã¯äžèœè¬ã§ã¯ãããŸããããã®äœ¿çšã¯ãå€ãã®äººã話ããŠããçŸä»£ã®ãã¯ãããžãŒã䜿çšããããšãã欲æ±ã ãã§ãªããæ£åœåãããåæ©ä»ããããã¹ãã§ãã åæã«ãæèœã§å Žæã«é©çšãããDockerã¯ããœãããŠã§ã¢éçºã®ãã¹ãŠã®æ®µéã§å€ãã®å©ç¹ããããããããã»ã¹ã®ãã¹ãŠã®åå è ã®ç掻ã楜ã«ããããšãã§ãããšç¢ºä¿¡ããŠããŸãã
ãã®åé¡ãããã«ç 究ããããšã®åºæ¬çãªãã€ã³ããšé¢å¿ãæããã«ã§ããããšãé¡ã£ãŠããŸãã ãã¡ãããDockerããã¹ã¿ãŒããã«ã¯ããã®èšäºã ãã§ã¯ååã§ã¯ãããŸããããDockerãå®è¡ããŠããã³ã³ããã®äžçã§äœãèµ·ãã£ãŠããã®ãã«ã€ããŠã®å šäœåãç解ããããã®ããºã«ã®èŠçŽ ã®1ã€ã«ãªãããšãé¡ã£ãŠããŸã
åç §è³æ
- Docker ããã¥ã¡ã³ã
- åå空éã¡ã«ããºã
- å¶åŸ¡ã°ã«ãŒãã®ã¡ã«ããºã
- Dockerã®èšäº