æ¬è¨äºã¯
NRIãããã³ã Advent Calendar 2022
24æ¥ç®ã®è¨äºã§ãã
ð 23æ¥ç®
â¶â¶Happy Christmas Eve! â¶â¶
25æ¥ç®
ð
ã¯ããã¾ãã¦ãå
¥ç¤¾7å¹´ç®ã®å·çã§ãã
主ã«PHPã使ã£ãWebã¢ããªã®éçºã»ä¿å®ã»éç¨ãæ
å½ãã¦ããã¾ãã
仿¥ã¯ã¯ãªã¹ãã¹ã¤ãã§ãããç§ã¯æå ã«ç¾ãããç½®ãããäºå®ã§ãã夢ã¯ãªããã©å¬ããã
ã¯ããã«
ãã¼ã«ã«ã«éçºç°å¢ãæ§ç¯ããéã«Dockerãå©ç¨ããã¦ããæ¹ãå¤ãã§ãããã ä½ã£ã¦å£ãã¦ã楽ããã¼ã«ã«ã«ããã°ã©ãã³ã°è¨èªãå ¥ããªãã¦ãéçºç°å¢ãæ§ç¯ã§ãããªã©ã¡ãªããã«ããµãã¦ãã¾ãããããªDockerãå©ç¨ãã¦ç°å¢ãæ§ç¯ï¼äººæ°ã¨ãã£ã¿Visual Studio Code(以ä¸ãVS Code)ã§ããã½ã¼ã¹ã³ã¼ããæ¸ããï¼ã¨åãã¨ãä¸è¨ã®ãããªã¡ãã»ã¼ã¸ãéç¥ããã¾ããï¼PHPç°å¢ã ã¨ãèãä¸ããï¼
Cannot validate since a PHP installation could not be found. Use the setting 'php.validate.executablePath' to configure the PHP executable.
ãã¼ã«ã«ã«PHPããªãããã³ã¼ãè£å®ã¨ãã§ããªãããã¨ãã£ãå 容ã§ãã ãã®ããã«ãã¼ã«ã«å´ã«è¨èªãã©ã¤ãã©ãªããªãã¨åããªãæ¡å¼µæ©è½ãã¡ãã»ãããããããã®ã¾ã¾ã ã¨å¿«é©ãªéçºãè¡ãã¾ããããã£ããDockerã使ã£ã¦ããã®ã«æ¡å¼µæ©è½ã®ããã«ãã¼ã«ã«ã«ããã°ã©ãã³ã°è¨èªãã©ã¤ãã©ãªãå ¥ããã¨ããã®ãæ°ãé²ã¿ã¾ããããããããªæã«å½¹ã«ç«ã¤æ¡å¼µæ©è½ããç´¹ä»ãã¦ããã¾ãã
â»ä»åã¯VS Codeæ¡å¼µæ©è½ã®ç´¹ä»ã®ãããDockerãVS Codeèªä½ã®èª¬æãå°å ¥æ¹æ³ã¯å²æãã¾ãã
æ¡å¼µæ©è½ Dev Containers
ä»åå°å ¥ããã®ã¯Dev Containersã¨ããæ¡å¼µæ©è½ã§ãã
Dev Containers - Visual Studio Marketplace
VS Codeã§Dockerã³ã³ããã«ãªã¢ã¼ãæ¥ç¶ããDockerã³ã³ããå ã§éçºãè¡ããç´ æµãªæ¡å¼µæ©è½ã§ããå ¬å¼ãµã¤ãã«ããã¨ä¸è¨ã®ãããªä»çµã¿ã ã³ã³ããã«æ¥ç¶ããéã«VS Code Serverãã¤ã³ã¹ãã¼ã«ããããã¨ã§ããã¼ã«ã«ã®VS Codeãä»ãã¦ã³ã³ããå ã§ã®ã·ã¹ãã éçºãå¯è½ã«ããã¨ã®ãã¨ãæ¡å¼µæ©è½ãªã©ã¯VS Code Serverå´ã«ã¤ã³ã¹ãã¼ã«ãããããããã¼ã«ã«è¨å®ã«ä¾åãããã³ã³ãããã¨ã«ç®¡çã§ããããã§ãã

å¼ç¨å ï¼ https://code.visualstudio.com/docs/devcontainers/containers
使ã£ã¦ã¿ã
VS Codeã«Dev Containersãã¤ã³ã¹ãã¼ã«ãã¦ããã¾ãã
éçºç°å¢ãæºåãã¾ããä»åã¯ç°¡æçã«ä¸è¨ã®ãªãã¸ããªãå©ç¨ããã¦ããã ãã¾ãã
docker compose up -dã§åã³ã³ãããèµ·åãã¾ããVS Codeã§ãµã¤ããã¼ãããªã¢ã¼ãã³ã³ããã¼ã鏿ããã¨èµ·åä¸ã®ã³ã³ããã確èªã§ãã¾ãã
æ¥ç¶ãããã³ã³ããåãå³ã¯ãªãã¯ãã¦
Attach to Containerãã¯ãªãã¯ãã¾ãã
ã¦ã£ã³ãã¦ãéããªããããç»é¢å·¦ä¸ã«
Container <ã³ã³ããå>ã表示ããã¦ããã°æ¥ç¶ã§ãã¦ãã¾ãã®ã§ããã©ã«ããéãããã½ã¼ã¹ã³ã¼ãã®æ ¼ç´å ´æãæå®ãã¦éãã¾ããããè¦äºã³ã³ããã«æ¥ç¶ã§ãã¾ãããã¿ã¼ããã«ãã³ã³ããã«å¯¾ãã¦æ¥ç¶ããã¦ããã®ã§ãã³ã³ããå ã§ã³ãã³ãå®è¡ããéã«ãæ¯å
docker compose exec <ã³ã³ããå> shã¨å®è¡ããå¿ è¦ããªããªãã¾ãããã¦ããã®è¨å®ã§æ¡å¼µæ©è½ã使ãããã試ãã¦ã¿ã¾ããããPHPãã¤ã³ã¹ãã¼ã«ãã¦ããªãã¨ä½¿ããªãæ¡å¼µæ©è½ã¨ãã¦ä¸è¨ãå ¥ãã¦ã¿ã¾ãã
PHP IntelliSense - Visual Studio Marketplace
æ¡å¼µæ©è½ãã¤ã³ã¹ãã¼ã«å¾phpãã¡ã¤ã«ã§é©å½ã«å ¥åãã¦ã¿ãã¨ã³ã¼ãè£å®ããã¦ãããããã«ãªãã¾ããã
ãããã«
ãããä¸ã«ãã転ãã£ã¦ããå 容ã§ã¯ããã¾ãããåå¿ãããã¦ç°¡åãªä½¿ç¨ä¾ããç´¹ä»ããã¦ããã ãã¾ãããä¸è¨æ°ã«ãªãç¹ãããã¾ãã®ã§ãã¾ãä½¿ç¨æãåãã£ããè¨äºãæ¸ãããã¨æãã¾ãã
æ¡å¼µæ©è½ã®ç®¡ç
ã³ã³ããæ¥ç¶æã¨ãªã¢ã¼ãã§ã¯æ¡å¼µæ©è½ãå ±æããã¾ããã®ã§ãæ¥ç¶å ã®ã³ã³ãããã¨ã«ãããã ãªæ¡å¼µæ©è½æ§æã§VS Codeã使ããã¨ãã§ãã¾ããã¾ãdevcontainer.jsonã¨ããè¨å®ãã¡ã¤ã«ã§æ¡å¼µæ©è½ã®èªåã¤ã³ã¹ãã¼ã«ã管çã§ãããããªã®ã§ãã¼ã éçºã«ãåãã¦ãããã§ãã
Docker代æ¿ãã¼ã«ã¸ã®æ¡å¼µæ§
è£åããã§ãã¦ããããã§ã¯ãªãã§ãããPodmanã§ãdev containerã§ã³ã³ããæ¥ç¶ãåºæ¥ããã§ããDocker Desktopé¢ããèããã¨ä»ã®ãã¼ã«ã§ä½¿ãããã¨ãéè¦ã§ããã


