æ¬æ¥ã Docker Desktop4 .33 ã䜿çšãã Docker ãã«ã ãã§ã㯠ã®ãªãªãŒã¹ãçºè¡šã§ããããšãå¬ããæããŸããDocker ãã«ã ãã§ãã¯ã¯ãããŒã ãã³ã³ãã ã€ã¡ãŒãžãæ§ç¯ããããã®ãã¹ã ãã©ã¯ãã£ã¹ãåŠç¿ããããã«åŸãã®ã«åœ¹ç«ã¡ãŸãã Docker ãã«ããå®è¡ãããšããã«ãã§æ€åºããããã§ãã¯éåã«å¯ŸããèŠåã®äžèЧã衚瀺ãããŸããããã¢ã¯ãã£ããªã¢ãããŒããåãããã«ãã®èŠåãšåé¡ãæ©æã«è§£æ±ºããããšã§ãããŠã³ã¹ããªãŒã ã®æéãšé çã®çš®ãç¯çŽã§ããŸããÂ

ãªãDockerãã«ããã§ãã¯ãäœæããã®ã§ãã?
éçºè ãšã®äŒè©±ã®äžã§ãå€ãã®äººãã³ã³ããã€ã¡ãŒãžãæ§ç¯ããããã®ãã¹ããã©ã¯ãã£ã¹ãåŠã³ãããã«åŸãã®ã«èŠåŽããŠããããšãããããŸããã 2024 ã®ãã¢ããªã±ãŒã·ã§ã³éçºã®çŸç¶ãã¬ããŒãã«ãããšãDocker ãŠãŒã¶ãŒã® 35% ããDockerfile ã®äœæãšç·šéãäžäœ 3 ã€ã®ã¿ã¹ã¯ã® 1 ã€ãšããŠæããŠããŸããããããåçè ã® 55%ã¯ãDockerfileã®äœæããµããŒããšããŠæãéžæãããŠããã¿ã¹ã¯ã§ãããšå ±åããŠããŸããÂ
å€ãã®å Žåãéçºè
㯠Docker Buildã®ããã¥ã¡ã³ããèªã¿ãç©äºãæ©èœãããããã«å¿
èŠãªå€æŽãå ããæ¬¡ã«é²ãäœè£ã¯ãããŸããã Docker ãã«ãã¯ã docker build ãå®è¡ãããš "æ©èœ" ããå¯èœæ§ããããŸãããé©åã«èšè¿°ãããŠããªã Dockerfile ã¯ã次ã®ãããªå質åé¡ãåŒãèµ·ããå¯èœæ§ããããŸãã
- ä¿å®ãæŽæ°ãé£ãã
- é ãããã°ãäºæããªããã°ãå°ã蟌ããÂ
- ããã©ãŒãã³ã¹ãæé©ã§ã¯ãªã
Docker ãŠãŒã¶ãŒãšã®äŒè©±ã§ã¯ããã«ãã®ããã©ãŒãã³ã¹ãåäžãããããã« Dockerfile ãæé©åããããšèããŠãããçŸåšã®ãã¹ã ãã©ã¯ãã£ã¹ãèªèããŠããªãããã«ãã®ã¬ã€ããåããããšèããŠãããšãã声ãèããŸãããÂ
ãã«ãã®åé¡ã調æ»ããŠä¿®æ£ãããšãæéãç¡é§ã«ãªããŸãã Docker Build ãã§ãã¯ã¯ãéçºè ãæåããé©åã«æ§é åããã Dockerfile ãäœæããæ¢åã®ãã¹ã ãã©ã¯ãã£ã¹ããåŠã¹ãããã«ããããã«äœæãããŸããã ãã«ã ãã§ãã¯ã䜿çšãããšãããŒã ã¯ãã«ãã®åé¡ã«è²»ããæéãæžãããã€ãããŒã·ã§ã³ãšã³ãŒãã£ã³ã°ã«ããå€ãã®æéãè²»ããããšãã§ããŸãã  Â
ãªãDockerãã«ããã§ãã¯ã䜿çšããå¿ èŠãããã®ã§ãã?Â
ããè¯ãDockerfileãäœæããæéãç¯çŽããã!Â
ç§ãã¡ã¯ããã«ãã®å°éå®¶ã®ã³ãã¥ããã£ããäžé£ã®ãã¹ããã©ã¯ãã£ã¹ãåéããããããDocker BuildããŒã«ã«äœç³»åããŸããã Docker ãã«ã ãã§ãã¯ã䜿çšããŠããã«ãã¹ããŒãž ãã«ãã ãã€ã¯ãªã©ãããŒã«ã«ã¯ãŒã¯ãããŒãš CI ã¯ãŒã¯ãããŒã®ãã¹ãŠã®ã¹ããŒãžãè©äŸ¡ãã Docker Desktop ã® [ãã«ã] ãã¥ãŒã§è©³çްã確èªã§ããŸãã ã¹ãããããã«ãŒã«ãéžæããããšãã§ããŸããÂ
Docker ãã«ã ãã§ãã¯ã«ã¯ãCLI ãš Docker Desktop ã® [ãã«ã] ãã¥ãŒããã¢ã¯ã»ã¹ã§ããŸããÂ
ãªã³ãã£ã³ã°ä»¥äžã®ãã®:Docker Buildãã§ãã¯ã¯åŒ·åã§é«éã§ãÂ
ãªã³ãã£ã³ã°ããŒã«ã¯éåžžãäžé£ã®ã«ãŒã«ã«ç §ãããŠããã¹ããã¡ã€ã«ãè©äŸ¡ããã ãã§ãã Docker Buildã®ãã€ãã£ãéšåã§ããDocker Buildãã§ãã¯ã®ã«ãŒã«ã¯ãåãªããªã³ãã£ã³ã°ããã匷åã§æ£ç¢ºã§ãã Docker ãã«ã ãã§ãã¯ã§ã¯ãæž¡ãããåŒæ°ã䜿çšãããåºæ¬ã€ã¡ãŒãžãå«ããã«ãå šäœãè©äŸ¡ããŸãã ãããã®ãã§ãã¯ã¯ãDockerfile ãç·šéãããšãã«ãªã¢ã«ã¿ã€ã ã§å®è¡ã§ããã»ã©é«éã§ãã ãã«ãã®å®å šãªå®è¡ãåŸ ããã«ããã«ãããã°ããè©äŸ¡ã§ããŸããÂ
ããŒã«ã«ãã«ãã確èªãã
æ°ãã Dockerfile ãŸãã¯æŽæ°ããã Dockerfile ãã³ããããŸãã¯å
±æããåã«è©äŸ¡ããããšããå§ãããŸãã docker buildãå®è¡ãããšãDockerfile ã®åé¡ãšèŠåã®æŠèŠããããããã«ãªããŸããã

ãããã®ç¹å®ã®åé¡ã«é¢ãã詳现æ
å ±ãååŸããã«ã¯ã docker --debug buildã䜿çšã㊠Docker CLI ã«ãããã° ãã©ã°ãæå®ã§ããŸãã ãã®æ
å ±ã«ã¯ãèŠåã®çš®é¡ãèŠåãçºçããå Žæãããã³èŠåã®è§£æ±ºæ¹æ³ã«é¢ãã詳现æ
å ±ãžã®ãªã³ã¯ãå«ãŸããŸããÂ

ãã«ãããã°ãã確èª
ãã«ãäžã«ãããã®ãã§ãã¯ãå®è¡ããã®ã¯çŽ æŽãããããšã§ããã倿Žãå ãããåé¡ãä¿®æ£ããããããšãã«æ¯åå®å
šãªãã«ããå®è¡ãããã®ãåŸ
ã€ã®ã¯æéããããå ŽåããããŸãã ãã®ããããã«ã ã³ãã³ãã®äžéšãšã㊠--check ãã©ã°ã远å ããŸãããÂ
# The check flag can be added anywhere as part of your build command
docker build . --check
docker build --check .
docker build --build-arg VERSION=latest --platform linux/arm64 . --check
次ã®å³ã«ç€ºãããã«ãæ¢åã®ãã«ã ã³ãã³ãã«ãã©ã°ã远å ãããšããã«ãå šäœãå®è¡ããªããŠãããã«ãæ§æã®å®å šãªè©äŸ¡ãè¡ãããŸãã ãã®è¿ éãªãã£ãŒãããã¯ã¯ãéåžž 1 ç§æªæºã§å®äºãããããéçºããã»ã¹ãã¹ã ãŒãºã«ãªããŸããÂ

CI ãã«ãã確èªãã
ããã©ã«ãã§ã¯ãèŠåä»ãã§ Docker ãã«ããå®è¡ããŠãããã«ãã¯å€±æããŸãã (0 以å€ã®çµäºã³ãŒããè¿ãããŸã)ã ãã ããCI ãã«ãã®ååž°ããã£ããããã«ã¯ã次ã®å®£èšã远å ããŠããšã©ãŒãçæããããã«ãã§ãã¯ã«æç€ºããŸããÂ
# syntax=docker/dockerfile:1
# check=error=true
FROM alpine
CMD echo "Hello, world!"
CI ã§ã®ãã«ãã¹ããŒãžãã«ãã®ç¢ºèª
ãã«ãäžã¯ãæå®ãããã¹ããŒãž/ã¿ãŒã²ãã (ãã®äŸåãå«ã) ã®ã¿ãå®è¡ãããŸãã ã¯ãŒã¯ãããŒã«ã¹ããŒãž ãã§ã㯠ã¹ãããã远å ããŠãDockerfile ã®å®å šãªè©äŸ¡ãè¡ãããšããå§ãããŸãã ããã¯ããã«ãã«ããå®è¡ããåã«èªåãã¹ããå®è¡ããæ¹æ³ãšäŒŒãŠããŸãã
èŠåãæ€åºãããå Žåã¯ããŒã以å€ã®çµäºã³ãŒããè¿ããããããã¯ãŒã¯ãããŒã倱æãããããåé¡ããã£ãããããŸãã
docker build --check .
Docker Build Cloud ã§ã®ãã«ãã®ç¢ºèª
ãã¡ããããã㯠Docker Build Cloud ãšããããŒã«ã«ãš CI ã®äž¡æ¹ã§ã·ãŒã ã¬ã¹ã«æ©èœããŸãã æ¢åã®ã¯ã©ãŠããã«ããŒã䜿çšããŠããã«ããè©äŸ¡ããŸããããªãã®ããŒã ã¯ãDocker Build Cloud ã®ããã©ãŒãã³ã¹ãšããã«ãããã¹ã ãã©ã¯ãã£ã¹ã«åèŽããŠãããšããå®å¿æãå Œãåããã¡ãªãããåŸãããããã«ãªããŸããã å®éããã§ãã¯ãæ¡å€§ãããšãDocker Build Cloudãã«ãã®ããã©ãŒãã³ã¹ãããã«åäžããã¯ãã§ãã

ã«ãŒã«ã®èšå®
ãã«ã ãã§ãã¯ã§ skip åŒæ°ã䜿çšããŠã«ãŒã«ãæè»ã«æ§æã§ããŸãã ãŸãã skip=all ãŸã㯠skip=none ãæå®ããŠãã«ãŒã«ã®ãªã³ãšãªããåãæ¿ããããšãã§ããŸãã JSONArgsRecommendedã«ãŒã«ãšStageNameCasingã«ãŒã«ãã¹ãããããäŸã次ã«ç€ºããŸãã
# syntax=docker/dockerfile:1
# check=skip=JSONArgsRecommended,StageNameCasing
FROM alpine AS BASE_STAGE
CMD echo "Hello, world!"
Docker Desktop ã® [ãã«ã] ãã¥ãŒãæ·±ãæãäžãã
Docker Desktop ã® [ãã«ã] ãã¥ãŒã§ã¯ããã«ãèŠåã®åºåã確èªã§ããŸãã Dockerfile ã§èŠåã®åå ãç¹å®ããããããè¿ éã«è§£æ±ºããæ¹æ³ãçè§£ããã®ãç°¡åã«ãªããŸããã
ãã«ããšã©ãŒãšåæ§ã«ãDocker Desktop ã§ãã«ããæ€æ»ãããšãèŠåã Dockerfile ã«ã€ã³ã©ã€ã³ã§è¡šç€ºãããŸãã

次ã¯äœã§ãã?Â
ãã®ä»ã®ãã§ãã¯
æ°ãããã«ããã§ãã¯ã«ãããDockfileã«ãã¹ããã©ã¯ãã£ã¹ãé©çšã§ããããã«ãªã£ãããšãå¬ããæããŸãããããã¯ã»ãã®å§ãŸãã«éããŸããã çŸåšã®äžé£ã®ãã§ãã¯ã«å ããŠããã«ãã®ããå æ¬çãªè©äŸ¡ãæäŸããããã«ãããã«å€ãã®ãã§ãã¯ã远å ããäºå®ã§ããããã«ãDocker ãã«ãã®ã«ã¹ã¿ã ãã§ãã¯ãšããªã·ãŒãå«ããããšã楜ãã¿ã«ããŠããŸãã
IDEçµ±å
ãã«ãã®åé¡ãæ©æã«ç¹å®ããã°ããã»ã©ããã®è§£æ±ºã容æã«ãªããã³ã¹ããå®ããªããŸãã ãã«ããã§ãã¯ããæ°ã«å ¥ãã®IDEãšçµ±åããŠãå ¥åæã«ãªã¢ã«ã¿ã€ã ã®ãã£ãŒãããã¯ãåŸãããšãã§ããããã«ããäºå®ã§ãã

GitHub Actions ãš Docker Desktop
Docker Desktop ã§ã¯æ¢ã«ãã«ã ãã§ãã¯ã®èŠåã確èªã§ããŸããããã詳现ãªåææ å ±ã¯è¿æ¥äžã« Docker Desktop ã«ãå ¬éãããäºå®ã§ãã ãåç¥ãããããŸããããæè¿ãGitHub Actions ã®ããŒã¿ ãªãªãŒã¹ ã§ Docker ãã«ãã®æ€æ»ãçºè¡šãããã®æ°æ©èœã«åºã¥ããŠããã§ãã¯èŠåã®èª¿æ»ã®ãµããŒããå«ããäºå®ã§ãã
ä»ããå§ãã
Docker ãã«ã ãã§ãã¯ã®äœ¿çšãéå§ããã«ã¯ãä»ãã Docker Desktop ã® 4.33 ã«ã¢ããã°ã¬ãŒãããæ¢åã® Dockerfile ã§è©ŠããŠã¿ãŠãã ããããã«ããã§ãã¯ã®è©³çްãªå èš³ã«ã€ããŠã¯ã ããã¥ã¡ã³ã ãã芧ãã ãããÂ
ããã«è©³ãã
- èªèšŒããŠã¢ããæ¥ä» ã¯ããµãã¹ã¯ãªãã·ã§ã³ ã¬ãã«ã®ææ°ã® Docker Desktop æ©èœãåãåããŸãã
- æ°ããDocker Desktop 4.33ã«ã¯ä»ã«ã©ã®ãããªãã®ããããŸãã?Docker ãããã°ãš Docker ãã«ã ãã§ãã¯ã® GA ãªãªãŒã¹ã«å ããŠãæ§æã®æŽåæ§ãã§ãã¯ã匷åãããŸããã
- Docker ã¯åããŠã§ãã? ã¢ã«ãŠã³ããäœæããŸããÂ
- Docker Newsletter ã賌èªããŠãã ããã