ã³ã³ãããã¬ã³ããªãŒãªèšèšã«ããã Alpine Dockerå ¬åŒã€ã¡ãŒãž(DOI) ã¯ãéçºè ã軜éã®ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããã³å±éããã®ã«åœ¹ç«ã¡ãŸãã ããã¯ã2005幎ã«ããã¥ãŒããã¢ã«ãã€ã³Linuxã«åºã¥ããŠããã仿¥ã®ææ°ã®äž»èŠãªLinuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã®1ã€ã«ãªã£ãŠããŸããÂ
æ¯èŒçæ°ããã€ã¡ãŒãžã䜿çšããéã«ã»ãã¥ãªãã£äžã®æžå¿µã衚æããéçºè ãããŸãããAlpineã¯ç¢ºåºããè©å€ãåŸãŠããŸãã éçºè ã¯ã次ã®çç±ã§Alpineã奜ã¿ãŸãã Â
- ãããããªã³ããå°ãããããæ»æå¯Ÿè±¡é åãå°ãããªããŸã(2014幎ã®ShellShock Bashãšã¯ã¹ããã€ããåé¿ããããšãã§ããŸã!
- 䜿çšãããã£ã¹ã¯å®¹éãå°ãªããªããŸãã
- ããã¯ã«ã¹ã¿ãã€ãºã®ããã®åŒ·åãªåºç€ãæäŸããŸãã
- ã·ã³ãã«ãã念é ã«çœ®ããŠæ§ç¯ãããŠããŸãã
å®éãAlpine DOI 㯠Docker Hub ã§æã人æ°ã®ããã³ã³ããã€ã¡ãŒãžã® 1 ã€ã§ãã äœæ¥ãéå§ã§ããããã«ããã®ã€ã¡ãŒãžã®è©³çްãšã次ã®ãããžã§ã¯ãã§ Alpine Docker å ¬åŒã€ã¡ãŒãžã䜿çšããæ¹æ³ã«ã€ããŠèª¬æããŸãã ããã«ãAlpineã䜿çšããŠå¯èœãªéãæãã¹ãªã ãªç»åãååŸããæ¹æ³ã«ã€ããŠèª¬æããŸãã é£ã³èŸŒã¿ãŸããã!
ãã®ãã¥ãŒããªã¢ã«ã®å 容:
- ã¢ã«ãã€ã³ããã«ãŒã®å ¬åŒã€ã¡ãŒãžãšã¯äœã§ãã?
- ããã«ãŒã§ã¢ã«ãã€ã³ãå®è¡ããæ¹æ³
- ä»ããã¢ã«ãã€ã³ã䜿ãå§ããŸããã
ã¢ã«ãã€ã³ããã«ãŒã®å ¬åŒã€ã¡ãŒãžãšã¯äœã§ãã?

Alpine DOI ã¯ãAlpine Linux Docker ã³ã³ããã®ãã«ãã£ã³ã°ãããã¯ã§ãã ããã¯ãDockerãšã¢ããªã±ãŒã·ã§ã³ã®åäœæ¹æ³ãæç€ºãã å®è¡å¯èœãœãããŠã§ã¢ããã±ãŒãž ã§ãã ã€ã¡ãŒãžã«ã¯ããœãŒã¹ ã³ãŒããã©ã€ãã©ãªãããŒã«ãããã³ã¢ããªã±ãŒã·ã§ã³ã«å¿ èŠãªãã®ä»ã®äž»èŠãªäŸåé¢ä¿ãå«ãŸããŠããŸãã ãããã®ã³ã³ããŒãã³ãã¯ãéçºè äžå¿ã®æ©èœãæå¹ã«ããªãããAlpine Linuxã®æ©èœãæ¯æŽããŸããÂ
Alpine Docker å ¬åŒã€ã¡ãŒãžã¯ãããã€ãã®ç¹ã§ä»ã® Linux ããŒã¹ã®ã€ã¡ãŒãžãšã¯ç°ãªããŸãã ãŸããAlpine 㯠C æšæºã©ã€ãã©ãªã® musl libc å®è£ ã«åºã¥ããŠããã GNU coreutils ã®ä»£ããã« BusyBox ã䜿çšããŠããŸããGNUã¯å€ãã®Linuxãã¬ã³ããªãŒãªããã°ã©ã ãäžç·ã«ããã±ãŒãžåããŠããŸãããBusyBoxã¯1ã€ã®å®è¡å¯èœãã¡ã€ã«å ã«å°æ°ã®ã³ã¢é¢æ°ããã³ãã«ããŠããŸããÂ
ç§ãã¡ã®UbuntuãšDebianã®ã€ã¡ãŒãžã¯ glibc ãš coreutilsãå©çšããŠããŸããããããã®ä»£æ¿ææ®µã¯æ¯èŒç軜éã§ãªãœãŒã¹ã«ãããããæ¡åŒµæ©èœãå°ãªããè¥å€§åãå°ãªãã§ãã
ãã®çµæãAlpineã¯ã劥åã®ãªãäºææ§ãã€ã¡ãŒãžã®æ©èœãå¿ èŠãšããªãéçºè ã«ã¢ããŒã«ããŸãã ãŸããã¢ã«ãã€ã³DOIã¯å¯åéšåãå°ãªãããããŠãŒã¶ãŒãã¬ã³ããªãŒã§ç°¡åã§ãã
Alpine Linuxã¯ããªãœãŒã¹ãéãããããã€ã¹ã§ãåªããããã©ãŒãã³ã¹ãçºæ®ããåçŽãªã¢ããªã±ãŒã·ã§ã³ã®éçºããµãŒããŒã®ã¹ãã³ã¢ããã«é©ããŠããŸãã ã³ã³ããã®æ¶è²»éã¯å°ãªããRAMãšã¹ãã¬ãŒãžã¹ããŒã¹ãå°ãªããªããŸããÂ
ã¢ã«ãã€ã³ããã«ãŒå ¬åŒã€ã¡ãŒãžã¯ãæ¬¡ã®æ©èœãæäŸããŸãã
- å
ç¢ãª
apkããã±ãŒãžãããŒãžã£ãŒ - è¿ éã§äžè²«æ§ã®ãã éçºãšãªãªãŒã¹ã®ãµã€ã¯ã« ãšã ãã®ä»ã® Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³
- ãµããŒããããŠããè€æ°ã®ã¿ã°ãšã¢ãŒããã¯ã㣠(
amd64ããããarm64arm/v6+ãªã©)ppc64le
ãã«ãã¢ãŒããã¯ãã£ã®ãµããŒãã«ããããã¹ã¯ããããã¢ãã€ã«ããã€ã¹ãã©ãã¯ããŠã³ããµãŒããŒãRaspberry Pisãããã«ã¯æ°ããMã·ãªãŒãºMacã§Alpineãå®è¡ã§ããŸãã å šäœãšããŠãAlpineã¯ããŸããŸãªçµã¿èŸŒã¿ã·ã¹ãã ãšããŸã調åããŠããŸããÂ
ãããã¯ãã¢ã«ãã€ã³DOIã䜿çšããå©ç¹ã®ã»ãã®äžéšã§ãã æ¬¡ã«ãã¢ããªã±ãŒã·ã§ã³ã§ã€ã¡ãŒãžãå©çšããæ¹æ³ã«ã€ããŠèª¬æããŸããÂ
ã¢ã«ãã€ã³ã䜿çšããå Žå
ã¢ã«ãã€ã³ã®äœ¿çšã«èå³ããããããããŸããããããã€äœ¿çšããã°ããã§ãã?ããšçåã«æã£ãŠããããšã«æ°ã¥ããŸãã ã³ã³ããåãããã¢ã«ãã€ã³ã¯ãããã€ãã®éèŠãªåéã§èŒããŠããŸããÂ
- ãµãŒããŒã®äœæ
- ã«ãŒã¿ãŒããŒã¹ã®ãããã¯ãŒã¯
- éçº/ãã¹ãç°å¢
ã¢ã«ãã€ã³ã«ã¯ä»ã«ãããã€ãã®çšéããããŸãããã»ãšãã©ã®ãããžã§ã¯ãã¯ãã®2ã€ã®ã«ããŽãªã«åé¡ãããŸãã å šäœãšããŠãåœç€Ÿã®Alpineã³ã³ããã€ã¡ãŒãžã¯ãã¹ããŒã¹ã®ç¯çŽãšã»ãã¥ãªãã£ãéèŠãªç¶æ³ã§åªããŠããŸããÂ
ããã«ãŒã§ã¢ã«ãã€ã³ãå®è¡ããæ¹æ³
éå§ããåã«ã Dockerãã¹ã¯ããããããŠã³ããŒãããŠã€ã³ã¹ããŒã« ããŸãã Docker Desktop 㯠Docker Engine äžã«æ§ç¯ãããŠãããDocker CLIãDocker Composeãããã³ãã®ä»ã®ã³ã¢ ã³ã³ããŒãã³ãããã³ãã«ããŠããŸãã Docker Desktop ãèµ·åãããšãDocker CLI ã³ãã³ãã䜿çšããããšãã§ããŸã (ããã«ã€ããŠã¯åŸã§èª¬æããŸã)ã æåŸã«ãä»å±ã®Dockerããã·ã¥ããŒãã¯ãã€ã¡ãŒãžãšã³ã³ãããèŠèŠçã«ç®¡çããã®ã«åœ¹ç«ã¡ãŸããÂ
ãããã®æé ãå®äºãããšãã¢ã«ãã€ã³ãããã«ã©ã€ãºããæºåãæŽããŸãã
æèšïŒ LinuxãŠãŒã¶ãŒã®å ŽåãDockerã¯ããµãŒããŒã«å€éšã«ã€ã³ã¹ããŒã«ãããŠããå ŽåããŸãã¯ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ããã±ãŒãžãããŒãžã£ãŒãä»ããŠã€ã³ã¹ããŒã«ãããŠããå Žåã§ããå®å šã«æ£åžžã«æ©èœããŸãã ãã ããDocker Desktop for Linuxã¯ãå¿ èŠãªãã¹ãŠã®ã³ã³ããŒãã³ãããã³ãã«ããããšã§æéãšåŽåãç¯çŽãããŠãŒã¶ãŒãã¬ã³ããªãŒãªGUIãéããŠçç£æ§ãåäžãããŸããÂ
ã¯ã€ã㯠ãã« ã³ãã³ãã䜿çšãã
ãããžã§ã¯ãã§äœ¿çšããåã«ããŸãAlpine Dockerå
¬åŒã€ã¡ãŒãžããã«ããå¿
èŠããããŸãã æéã®æ¹æ³ã¯ã端æ«ããå®è¡ docker pull alpine ããããšã§ãã ããã«ããã alpine:latest Docker Hub ããã€ã¡ãŒãž (å©çšå¯èœãªææ°ããŒãžã§ã³) ãååŸããããã·ã³ã«ããŒã«ã«ã«ããŠã³ããŒããããŸããÂ
ã¿ãŒããã«åºåã«ã¯ããã«ããã€å®äºããããããã³ alpine ããŠã³ããŒãããããŒãžã§ã³ã衚瀺ãããŸãã ããã¯ãDocker ãã¹ã¯ãããå
ã§ã確èªã§ããŸãã å·ŠåŽã®ãµã€ãããŒãã[ ç»å ]ã¿ãã«ç§»åããŸãã ããŠã³ããŒãããç»åã®ãªã¹ããå³åŽã«è¡šç€ºãããŸãã ããªãã¯ããªãã® alpine ç»åãã¿ã°ããããŠãã®æ¥µå°ãèŠãã§ããã(ã¯ããããªãã¯ãã®æš©å©ãèŠãŸãã) 5.29 MB ãµã€ãº:

以äžããDocker Desktopãšäžç·ã«Alpineå
¬åŒã€ã¡ãŒãžã䜿çšããããã®ç°¡åãªç޹ä»ã§ãã ãã ãããã¹ãŠã®Alpine DOIããŒãžã§ã³ã¯.Dockerfileãã®ãã¬ãŒã³ããã¹ããã¡ã€ã«ã«ã¯ãã¬ã€ã€ãŒããšã«ã€ã¡ãŒãžãæ§ç¯ããæ¹æ³ãDockerã«æç€ºããæé ãå«ãŸããŠããŸãã ãã®ä»ã® Dockerfile äŸã«ã€ããŠã¯ã Alpine Linux GitHub ãªããžã㪠ãåç
§ããŠãã ããã Â
次ã¯ãAlpine Linux ã«ãšã£ãŠã®ãããã® Dockerfile ã®éèŠæ§ãCLI ããŒã¹ã®ã¯ãŒã¯ãããŒãããã³ãã®ä»ã®éèŠãªæ å ±ã«ã€ããŠèª¬æããŸãã
ããã«ãŒãã¡ã€ã«ããã«ããã
Alpine ã¯ã³ã³ããã€ã¡ãŒãžã®æšæºããŒã¹ã§ããããããã®äžã« Dockerfile. 奜㿠alpine ã®ã€ã¡ãŒãžã¿ã°ãæå®ãããã®ãã¡ã€ã«ãäœæããããã®æé ã远å ããŸãã ç§ãã¡ã®äŸã¯ alpine:3.14 ããã䜿ã£ãŠå®è¡å¯èœ mysql ã¯ã©ã€ã¢ã³ããå®è¡ããŸã:Â
FROM alpine:3.14
RUN apk add --no-cache mysql-client
ENTRYPOINT ["mysql"]
ãã®å Žåãã¹ãªã ãªããŒã¹ã€ã¡ãŒãžããå§ããŠãAlpineã®æšæºããã±ãŒãžãããŒãžã£ãŒã䜿çšããŠè¿œå mysql-client ããŸãã å
šäœãšããŠãããã«ãããã¢ããªã±ãŒã·ã§ã³å
ããMySQLããŒã¿ããŒã¹ã«å¯ŸããŠã³ãã³ããå®è¡ã§ããŸããÂ
ããã¯ãã¢ã«ãã€ã³DOIã皌åãããããã®å€ãã®æ¹æ³ã®1ã€ã«ãããŸããã ç¹ã«ãã¢ã«ãã€ã³ã¯ãµãŒããŒã®æ§ç¯ã«é©ããŠããŸãã ãã®åäœã確èªããã«ã¯ã Docker ComposeãNext.jsãNGINX ã䜿çšããéçã³ã³ãã³ãã®æäŸã«é¢ãã Kathleen Juell ã®ãã¬ãŒã³ããŒã·ã§ã³ãã芧ãã ããã åã蟌ã¿åç»å ã®ã¿ã€ã ã¹ã¿ã³ã 7:07 ã«ç§»åããŸããÂ
ã¢ã«ãã€ã³å
¬åŒã€ã¡ãŒãžã¯ãä»ã®ãã¯ãããžãŒ(ä»ã®ã€ã¡ãŒãžã«ã¯ãªããã®)ãšå¯æ¥ãªé¢ä¿ããããŸãã Docker å
¬åŒã€ã¡ãŒãžã®å€ãã¯ã¿ã°ããµããŒãããŠããŸã -alpine ã ããšãã°ãéçã³ã³ãã³ããæäŸããåè¿°ã®äŸã§ã¯ã node:16-alpine ç»åã builder.Â
ãã®é¢ä¿ã«ãããã¢ã«ãã€ã³ãšãã«ãã¹ããŒãžãã«ãã¯çæ³çãªãã¢ãªã³ã°ã«ãªããŸãã ãã«ãã¹ããŒãž ãã«ãã®äž»ãªç®çã¯æçµçãªã€ã¡ãŒãž ãµã€ãºãå°ããããããšã§ãããããæãã¹ãªã 㪠Docker å ¬åŒã€ã¡ãŒãžã® 1 ã€ããå§ããããšããå§ãããŸãã
å¯èœãªéãã¹ãªã ãªç»åãã€ãã
ç¹å®ã®ç»åã®ããŒãžã§ã³ã -alpine ãã«ãããšãéåžžãæãã¹ãªã ãªçµæãåŸãããŸãã ããã¯ãåã® docker pull [image] ã³ãã³ãã䜿çšããŠå®è¡ã§ããŸãã ãŸãã¯ããã®ã€ã¡ãŒãž ããŒãžã§ã³ãäœæã㊠Dockerfile æå®ããæé ã远å ããŠã«ã¹ã¿ãã€ãºããäœå°ãæ®ãããšãã§ããŸããÂ
ãããã®å Žåããæã人æ°ã®ããç»åã®ããã€ãã䜿çšããçµæãæ¬¡ã«ç€ºããŸãã ãããã®ã¿ã°ã§ç»åãµã€ãºãã©ã®ããã«å€åãããã確èªã§ããŸãã
| ã€ã¡ãŒãžã¿ã° | ç»åãµã€ãº | image:[version number]-alpine 倧ãã |
ãã€ãœã³:3.9.13 | 867.66 ã¡ã¬ãã€ã | 46.71 ã¡ã¬ãã€ã |
ããŒã:18.8.0 | 939.71 ã¡ã¬ãã€ã | 164.38 ã¡ã¬ãã€ã |
ãžã³ã¯ã¹:1.23.1 | 134.51 ã¡ã¬ãã€ã | 22.13 ã¡ã¬ãã€ã |
ããã¯ãDocker ã Docker Hub ããååŸããæ¢å®ã®ã€ã¡ãŒãž ã¿ã°ã§ããããããã®ã¿ã°ã䜿çšã :latest ãŸããã äžèšã®Pythonã§ç€ºããããã«ãã€ã¡ãŒãžããŒãžã§ã³ã -alpine ãã«ãããšããããããªã³ãã95%è¿ãåæžãããŸããÂ
ããããããã«ãããã»ã¹(ãã Dockerfileäœæ¥ããå Žå)ã¯ã¯ããã«é«éã«ãªããŸãã ããã¹ãªã ãªç»åã«åºã¥ãã¢ããªã±ãŒã·ã§ã³ã¯ãããè¿
éã«ã¹ãã³ã¢ããããŸãã ãŸããããŸããŸãª docker run ã³ãã³ããç»åã䜿çšã㊠-alpine ããé«éã«å®è¡ãããããšã« docker pull ãæ°ä»ãã§ããããÂ
ãã ãããã®ã¿ã°ã¯ã芪ã€ã¡ãŒãžã®ããŒãžã§ã³çªå·ãæå®ããŠäœ¿çšããå¿
èŠãããããšã«æ³šæããŠãã ããã å®è¡äž docker pull python-alpine ãŸã㯠docker pull python:latest-alpine åäœããŸããã Docker ã¯ãã€ã¡ãŒãžãèŠã€ãããªãããªããžããªãååšããªããã³ãã³ããç¡å¹ã§ããããŸãã¯ãã°ã€ã³æ
å ±ãå¿
èŠã§ããããšãèŠåããŸãã ããã¯ãã¹ãŠã®ç»åã«é©çšãããŸããÂ
ä»ããã¢ã«ãã€ã³ã䜿ãå§ããŸããã
ã¢ã«ãã€ã³ããããŒã®å ¬åŒã€ã¡ãŒãžã¯ããã®ã·ã³ãã«ããšå°ããªãµã€ãºã®ãããã§èŒããŠããŸãã ããã¯çŽ æŽãããåºæ¬ã€ã¡ãŒãžã§ãããããããDockerãŠãŒã¶ãŒã®éã§æã人æ°ããããã«ã¹ã¿ãã€ãºã®äœå°ãååã«ãããŸãã ã¢ã«ãã€ã³ã¯ééããªãæããŠãŒã¶ãŒãã¬ã³ããªãŒã§ã³ã³ããåãããLinuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ãã ã¢ã«ãã€ã³å ¬åŒã€ã¡ãŒãžã®äœ¿ãæ¹ã«åãçµã¿ããããæå€§éã«æŽ»çšããæ¹æ³ã玹ä»ããŸãããÂ
次ã®ã¢ããªã±ãŒã·ã§ã³ããµãŒããŒã«ã¢ã«ãã€ã³ã䜿ãããã§ãã? ä»ããã¢ã«ãã€ã³å ¬åŒã€ã¡ãŒãžããã«ããŠã ãã«ãããã»ã¹ãããã«å§ããŸãããã ãµããŒããããŠããã¿ã°ã®è©³çްã«ã€ããŠã¯ãDocker Hub ãåç §ããŠãã ãããÂ
é¢é£è³æ
- å ¬åŒã®ã¢ã«ãã€ã³ãŠã£ããé²èЧããŠãã ããã
- ã¢ã« ãã€ã³åå¿è ã®WikiããŒãžãããã¢ã«ãã€ã³ã®åºç€ãåŠã³ãŸãããã
- Docker ã€ã¡ãŒãžã«é¢ããåæ§ã®èšäºããèªã¿ãã ãããÂ
- ææ°ããŒãžã§ã³ã® Docker ãã¹ã¯ããããããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸãã