Docker Offload ã®å©çšãæé©åãã
Docker Offload ã¯ããã«ããããŒã«ã«ã§å®è¡ããã®ã§ã¯ãªãããªã¢ãŒãã§å®è¡ããŸãã ã€ãŸãããã¡ã€ã«ã¯ããŒã«ã«ã·ã¹ãã ããã¯ã©ãŠããžãããã¯ãŒã¯çµç±ã§è»¢éããå¿ èŠããããŸãã
ãããã¯ãŒã¯çµç±ã§ã®ãã¡ã€ã«è»¢éã¯ãããŒã«ã«è»¢éã«æ¯ã¹ãŠ ã¬ã€ãã³ã·ãé«ãã垯åå¹ ãäœã ãšãã課é¡ããããŸãã ããã軜æžãããããDocker Offload ã«ã¯ããã€ãã®ããã©ãŒãã³ã¹æé©åãçµã¿èŸŒãŸããŠããŸãïŒ
-
ãã«ããã£ãã·ã¥çšã«ã¢ã¿ãããã¹ãã¬ãŒãžããªã¥ãŒã ã䜿çšãããã£ãã·ã¥ã®èªã¿æžããé«éåã
-
ãã«ãçµæãããŒã«ã«ãã·ã³ã«æ»ãéã¯ãååã®ãã«ã以éã«å€æŽãããã¬ã€ã€ãŒã®ã¿ã転éã
ãããã®æé©åããã£ãŠããå€§èŠæš¡ãªãããžã§ã¯ããäœéãªãããã¯ãŒã¯æ¥ç¶ã§ã¯è»¢éã«æéããããããšããããŸãã Docker Offload çšã®ãã«ãç°å¢ãæé©åããããã®æ¹æ³ãããã€ã玹ä»ããŸãïŒ
Dockerfile ã«é¢ããäžè¬çãªãã³ãã«ã€ããŠã¯ããã«ãã®ãã¹ããã©ã¯ãã£ã¹Â ãåç §ããŠãã ããã
dockerignore ãã¡ã€ã«
.dockerignore ãã¡ã€ã«
ã䜿ããšããã«ãã³ã³ããã¹ãã«å«ããªãããŒã«ã«ãã¡ã€ã«ãæå®ã§ããŸãã
ãã®ãã¿ãŒã³ã§é€å€ããããã¡ã€ã«ã¯ããã«ãæã« Docker Offload ãžã¢ããããŒããããŸããã
å žåçã«é€å€ãã¹ãé ç®ã®äŸïŒ
-
.git
â ããŒãžã§ã³å±¥æŽã®è»¢éãé¿ããïŒæ³šæïŒãã«ãå ã§git
ã³ãã³ãã¯å©çšã§ããªããªããŸãïŒã -
ãã«ãææç©ãããŒã«ã«ã§çæããããã€ããªã
-
ãã«ãããã»ã¹å ã§åŸ©å ãããäŸåãã©ã«ãïŒäŸïŒ
node_modules
ïŒã
äžè¬çãªç®å®ãšããŠã.dockerignore
㯠.gitignore
ãšåæ§ã®å
容ã«ãããšè¯ãã§ãããã
ã¹ãªã ãªããŒã¹ã€ã¡ãŒãž
FROM
åœä»€ã§ããå°ããããŒã¹ã€ã¡ãŒãžã䜿çšãããšãæçµçãªã€ã¡ãŒãžãµã€ãºãåæžãããã«ãããã©ãŒãã³ã¹ãæ¹åã§ããŸãã
alpine
ã€ã¡ãŒãžã¯æå°éã®ããŒã¹ã€ã¡ãŒãžã®å¥œäŸã§ãã
å®å
šã«ã¹ã¿ãã£ãã¯ãªãã€ããªãå©çšããå Žåã¯ã空ã®ããŒã¹ã€ã¡ãŒãžã§ãã scratch
ã䜿çšã§ããŸãã
ãã«ãã¹ããŒãžãã«ã
ãã«ãã¹ããŒãžãã«ã ã䜿ããšãDockerfile å ã§ãã«ãæã®ç°å¢ãšå®è¡æã®ç°å¢ãåé¢ã§ããŸãã ããã«ãããæçµçãªã€ã¡ãŒãžãµã€ãºãåæžã§ããã ãã§ãªãããã«ãäžã«ã¹ããŒãžã䞊åå®è¡ã§ããããã«ãªããŸãã
COPY --from
ã䜿ã£ãŠãåã®ã¹ããŒãžãå€éšã€ã¡ãŒãžãããã¡ã€ã«ãã³ããŒããŸãã
ãã®æ¹æ³ã«ãããäžèŠãªã¬ã€ã€ãŒãæå°åããæçµã€ã¡ãŒãžã®ãµã€ãºãæžããããšãã§ããŸãã
ãã«ãäžã«ãªã¢ãŒããã¡ã€ã«ãååŸãã
å¯èœãªå Žåã倧ããªãã¡ã€ã«ã¯ããŒã«ã«ã³ã³ããã¹ãã«å«ããã®ã§ã¯ãªãããã«ãäžã«ã€ã³ã¿ãŒãããããçŽæ¥ããŠã³ããŒãããŠãã ããã ããã«ãããã¯ã©ã€ã¢ã³ããã Docker Offload ãžã®ãããã¯ãŒã¯è»¢éãåé¿ã§ããŸãã
ãããè¡ãæ¹æ³ã®äŸïŒ
-
Dockerfile ã®
ADD
åœä»€ ãäœ¿çš -
wget
ãcurl
ãrsync
ãªã©ã®RUN
ã³ãã³ãã䜿çš
ãã«ãã¹ã¬ãã察å¿ããŒã«
äžéšã®ãã«ãããŒã«ïŒäŸïŒmake
ïŒã¯ããã©ã«ãã§ã·ã³ã°ã«ã¹ã¬ããå®è¡ã«ãªã£ãŠããŸãã
ããŒã«ã䞊åå®è¡ããµããŒãããŠããå Žåã¯ã䞊åã§åäœããããã«èšå®ããŠãã ããã
äŸãã°ãmake --jobs=4
ã䜿çšãããšã4 ãžã§ããåæã«å®è¡ã§ããŸãã
ã¯ã©ãŠãäžã§å©çšå¯èœãª CPU ãªãœãŒã¹ã掻çšããããšã§ããã«ãæéãå€§å¹ ã«ççž®ã§ããŸãã