ãªã©ã³ã»ã¿ã«ãéçºè ã¢ããã«ã·ãŒã®Snykãã£ã¬ã¯ã¿ãŒã«ããã²ã¹ãæçš¿Â
Docker ã§ã¯ãåèšã§æå€§ 3,180 åå以äžã®ã³ã³ãã㌠ã€ã¡ãŒãžãããŠã³ããŒããããŠããŸãã Docker Hub ã§ã¯äœçŸäžãã®ã¢ããªã±ãŒã·ã§ã³ã䜿çšã§ãããããã³ã³ãããŒããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ã人æ°ããããã¢ããªã±ãŒã·ã§ã³ãç°¡åã«äœ¿çšããã³å ¬éã§ããŸãã
ããã¯èšã£ãŠããç¬èªã®Docker Node.js Webã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããçŽ æŽãªæ¹æ³ã«ã¯ãå€ãã®ã»ãã¥ãªãã£ãªã¹ã¯ã䌎ãå¯èœæ§ããããŸãã ã§ã¯ãNode.jséçºè ã«ãšã£ãŠã»ãã¥ãªãã£ãDockerã®äžå¯æ¬ ãªéšåã«ããã«ã¯ã©ãããã°ããã§ããããã
ãã®ãããã¯ã«é¢ããå€ãã®èšäºãæžãããŠããŸãããæ®å¿µãªãããNode.js Dockerã€ã¡ãŒãžãæ§ç¯ããããã®ã»ãã¥ãªãã£ãšæ¬çªç°å¢ã®ãã¹ããã©ã¯ãã£ã¹ã«ã€ããŠæ éã«æ€èšãããŠããŸããã ãããç§ã®èšäºã®çŠç¹ã§ãããPeter McKeeãšã®æè¿ã® Docker Buildã·ã§ãŒ ã§å ±æãããã¢ã§ããÂ
Docker for Nodeã®èŠç¹ã«é£ã³èŸŒãã§.js Dockerã€ã¡ãŒãžãæ§ç¯ããåã«ããã®ãããã¯ã«é¢ããããã€ãã®ãããã質åãèŠãŠã¿ãŸãããã
Node.jsã¢ããªã±ãŒã·ã§ã³ããããã³ã°åããã«ã¯ã©ãããã°ããã§ãã?
Node.jsã¢ããªã±ãŒã·ã§ã³ãDockerã³ã³ããã§å®è¡ããã®ã¯ããããžã§ã¯ãã®ãã£ã¬ã¯ããªãã³ããŒããŠå¿ èŠãªãã¹ãŠã®npmããã±ãŒãžãã€ã³ã¹ããŒã«ããã®ãšåããããç°¡åã§ãããèŠéãå¯èœæ§ã®ããã»ãã¥ãªãã£ããã³æ¬çªé¢é£ã®æžå¿µäºé ã倿°ãããŸãã ãããã®æ¬çªã°ã¬ãŒãã®ãã³ãã¯ã Dockerã䜿çšããNode.js Webã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããåã«é¢ããæ¬¡ã®ã¬ã€ãã«èšèŒãããŠãããé©åãªDockerããŒã¹ã€ã¡ãŒãžã®éžæããã«ãã¹ããŒãžãã«ãã®äœ¿çšãããã·ãŒã¯ã¬ããã®å®å šç®¡çãšæ¬çªé¢é£ã®ãã¬ãŒã ã¯ãŒã¯æ§æã®é©åãªæå¹åãŸã§ããã¹ãŠãã«ããŒããŠããŸãã
ãã®èšäºã§ã¯ãWeb ã¢ããªã±ãŒã·ã§ã³ã«é©ãã Node.js Docker åºæ¬ã€ã¡ãŒãžãéžæããããšã®åœ±é¿ãããããçè§£ããããã«å¿ èŠãªæ å ±ã«çŠç¹ãåœãŠãã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšã§ããæãå®å šãª Docker ã€ã¡ãŒãžãèŠã€ããã®ã«åœ¹ç«ã¡ãŸãã Â
Dockerã¯Node.jséçºè ã«ãšã£ãŠã©ã®ããã«åœ¹ç«ã¡ãŸãã?
Node.jsã¢ããªã±ãŒã·ã§ã³ãã³ã³ããã«ããã±ãŒãžåãããšãã©ã³ã¿ã€ã ãæ§æãOSã¬ãã«ã®äŸåé¢ä¿ãããã³Webã¢ããªã±ãŒã·ã§ã³ãããŸããŸãªãã©ãããã©ãŒã ãCPUã¢ãŒããã¯ãã£ã§å®è¡ããããã«å¿ èŠãªãã¹ãŠã®ãã®ãå«ããã¢ããªã±ãŒã·ã§ã³å šäœããã³ãã«ã§ããŸãã ãããã®ã€ã¡ãŒãžã¯ãã³ã³ãã㌠ã€ã¡ãŒãžãšåŒã°ãããããã€å¯èœãªææç©ãšããŠãã³ãã«ãããŸãã ãããã®Dockerã€ã¡ãŒãžã¯ãç°¡åã«åçŸå¯èœãªãã«ããå¯èœã«ãããœãããŠã§ã¢ããŒã¹ã®ãã³ãã«ã§ãããNode.jséçºè ã¯ãã¹ãŠã®ç°å¢ã§åããããžã§ã¯ããŸãã¯è£œåãå®è¡ããæ¹æ³ãæäŸããŸããÂ
æåŸã«ãDocker ã³ã³ãããŒã䜿çšãããšãç¹å¥ãªã¢ã¯ã»ã¹èš±å¯ãå¿ èŠãšããããããžã§ã¯ããå®è¡ããããã®å°çšç°å¢ãèšå®ããããšãªããæ°ãããã©ãããã©ãŒã ãªãªãŒã¹ããã®ä»ã®å€æŽãããç°¡åã«è©Šãããšãã§ããŸãã
1. ã¢ããªã±ãŒã·ã§ã³ã«é©ããããŒã.js Docker ããŒã¹ã€ã¡ãŒãžãéžæãã
Node.js ãããžã§ã¯ãã® Docker ã€ã¡ãŒãžãäœæãããšãã¯ãDocker Hub ãããã«ããå¥ã® Docker ã€ã¡ãŒãžã«åºã¥ããŠç¬èªã®ã¢ããªã±ãŒã·ã§ã³ ã€ã¡ãŒãžããã«ãããŸãã ããã¯ãåºæ¬ã€ã¡ãŒãžãšåŒã°ãããã®ã§ãã åºæ¬ã€ã¡ãŒãžã¯ãNode.js ã¢ããªã±ãŒã·ã§ã³çšã«ãã«ãããããšããŠããæ°ãã Docker ã€ã¡ãŒãžã®ãã«ãã£ã³ã° ãããã¯ã§ãã
åºæ¬ã€ã¡ãŒãžã®éžæã¯ãDocker ã€ã¡ãŒãžã®ãã«ãé床ã ãã§ãªããWeb ã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ãšããã©ãŒãã³ã¹ã«ã倧ãã圱é¿ãããããéåžžã«éèŠã§ãã ããã¯éåžžã«éèŠã§ã DockerãšSnykã¯ã éçºè ããŒã åãã®ã³ã³ããã€ã¡ãŒãžã®ã»ãã¥ãªãã£ã«çŠç¹ãåœãŠããã®å®çšçãªã¬ã€ããå ±åå·çããŸãããÂ
DebianãŸãã¯Ubuntuã«åºã¥ãæ¬æ Œçãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã€ã¡ãŒãžãéžæãããšããããã®ã€ã¡ãŒãžã§å©çšå¯èœãªãã¹ãŠã®ããŒã«ãšã©ã€ãã©ãªãå©çšã§ããããããããã®ã€ã¡ãŒãžãéžæããå¯èœæ§ã¯ååã«ãããŸãã ãã ããããã«ã¯ä»£åã䌎ããŸãã åºæ¬ã€ã¡ãŒãžã«ã»ãã¥ãªãã£äžã®è匱æ§ãããå Žåã¯ãæ°ããäœæããã€ã¡ãŒãžã§ãããç¶æ¿ããŸãã å€ãã®è匱æ§ãå«ã倧ããªåºæ¬ã€ã¡ãŒãžãæ¢å®ã§èšå®ããããšã§ãæªãæ¡ä»¶ããå§ãããã®ã¯ãªãã§ãã?
åºæ¬ã€ã¡ãŒãžãèŠããšãã»ãã¥ãªãã£ã®è匱æ§ã®å€ãã¯ããã®åºæ¬ã€ã¡ãŒãžã䜿çšãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã (OS)ã¬ã€ã€ãŒã«å±ããŠããŸãã Snykã®2019幎ã®èª¿æ» Shifting Dockerã»ãã¥ãªãã£ã¬ããã¯ãOSã¬ã€ã€ãŒã«ãã£ãŠããããããè匱æ§ã¯ãéžæãããã¬ãŒããŒã«ãã£ãŠå€§ããç°ãªãå¯èœæ§ãããããšã瀺ããŸããã
2. éçºäžã«ããŒã.js Docker ã€ã¡ãŒãžãã¹ãã£ã³ãã
ä»ã®ã€ã¡ãŒãžã«åºã¥ã㊠Docker ã€ã¡ãŒãžãäœæããããããåæ§ç¯ãããšãæ°ããè匱æ§ãçºçããå¯èœæ§ããããŸããããã®äžã«ããæ¹æ³ããããŸãã
Docker ã€ã¡ãŒãžã®ãã«ã ããã»ã¹ã¯ãä»ã®éçºé¢é£ã®ã¢ã¯ãã£ããã£ãšåæ§ã«æ±ããŸãã èšè¿°ããã³ãŒãããã¹ãããã®ãšåæ§ã«ããã«ããã Docker ã€ã¡ãŒãžããã¹ãããå¿ èŠããããŸããÂ
ãããã®ãã¹ãã«ã¯ãDockerfile ã®ã»ãã¥ãªãã£ã®èœãšã穎ããã®ä»ã®äžé©åãªãã¿ãŒã³ãåé¿ããŠããããšã確èªããããã®éçãã¡ã€ã« ãã§ã㯠(ãªã³ã¿ãŒãšãåŒã°ããŸã) ãå«ãŸããŠããŸãã ãããã®ããã€ãã«ã€ããŠã¯ã Docker ã€ã¡ãŒãžã®ã»ãã¥ãªãã£ã®ãã¹ã ãã©ã¯ãã£ã¹ã§æŠèª¬ããŠããŸãã Node.js ã¢ããªã±ãŒã·ã§ã³éçºè ã®æ¹ã¯ã Node.js Web ã¢ããªã±ãŒã·ã§ã³ã Docker ã§ã³ã³ãããŒåããããã®ãã®ã¹ããããã€ã¹ãããã® 10 ã®ãã¹ã ãã©ã¯ãã£ã¹ããèªã¿ãã ããã
gitãªããžããªãSnykã«æ¥ç¶ ããããšãåªããéžæè¢ã§ãã Snyk ã¯ãGitHubãGitLabãBitbucketãAzure Repos ãšã®ãã€ãã£ãçµ±åããµããŒãããŠããŸãã gitçµ±åããããšããããšã¯ãã»ãã¥ãªãã£ã®è匱æ§ãèŠã€ãã£ãå Žåã«ããã«ãªã¯ãšã¹ããã¹ãã£ã³ããŠã»ãã¥ãªãã£æ å ±ã§æ³šéãä»ããããšãã§ããããšãæå³ããŸãã ããã«ãããã²ãŒããé 眮ããæ°ããã»ãã¥ãªãã£ã®è匱æ§ãããããå Žåã«ãã«ãªã¯ãšã¹ãã®ããŒãžãæåŠã§ããŸãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ (CI) ã®æè»æ§ãé«ããå¿ èŠãããå ŽåããŸãã¯ç·å¯ã«çµ±åãããéçºè ãšã¯ã¹ããªãšã³ã¹ãå¿ èŠãªå Žåã¯ãSnyk CLI ãåç §ããŠãã ããã
CLI ã䜿çšãããšãDocker ã³ã³ãã㌠ã€ã¡ãŒãžãç°¡åã«ãã¹ãã§ããŸãã Docker ã€ã¡ãŒãžãããŒã«ã«ã§ãã«ããã nodejs:notification-v99.9ãšããŠã¿ã°ä»ããããšãããšã次ã®ããã«ãã¹ãããŸãã
- Snyk CLI ãã€ã³ã¹ããŒã«ããŸãã
$ npm install -g snyk - 次ã«ãSnyk CLI ã API ããŒã¯ã³ãèªåçã«ååŸããããã«ããŸãã
$ snyk auth - ããŒã«ã«ããŒã¹ã€ã¡ãŒãžãã¹ãã£ã³ããŸãã
$ snyk container test nodejs:notification-v99.9
ãã¹ãçµæã¯ãè匱æ§ãå°å ¥ãããã¹ã§ããCVEã«é¢ããæ å ±ãšãšãã«ç»é¢ã«åºåããããããã©ã®OSäŸåé¢ä¿ãåå ã§ããããããããŸãã
Docker ããŒã¹ ã€ã¡ãŒãž ããŒãããã¹ãããããã®åºåäŸã次ã«ç€ºããŸã:15:
â High severity vulnerability found in binutils
Description: Out-of-Bounds
Info: https://snyk.io/vuln/SNYK-DEBIAN9-BINUTILS-404153
Introduced through: dpkg/dpkg-dev@1.18.25, libtool@2.4.6-2
From: dpkg/dpkg-dev@1.18.25 > binutils@2.28-5
From: libtool@2.4.6-2 > gcc-defaults/gcc@4:6.3.0-4 > gcc-6@6.3.0-18+deb9u1 > binutils@2.28-5
Introduced by your base image (node:15)
â High severity vulnerability found in binutils
Description: Integer Overflow or Wraparound
Info: https://snyk.io/vuln/SNYK-DEBIAN9-BINUTILS-404253
Introduced through: dpkg/dpkg-dev@1.18.25, libtool@2.4.6-2
From: dpkg/dpkg-dev@1.18.25 > binutils@2.28-5
From: libtool@2.4.6-2 > gcc-defaults/gcc@4:6.3.0-4 > gcc-6@6.3.0-18+deb9u1 > binutils@2.28-5
Introduced by your base image (node:15)
Organization: snyk-demo-567
Package manager: deb
Target file: Dockerfile
Project name: docker-image|node
Docker image: node:15
Platform: linux/amd64
Base image: node:15
Licenses: enabled
Tested 412 dependencies for known issues, found 554 issues.
Base Image Vulnerabilities Severity
node:15 554 56 high, 63 medium, 435 low
Recommendations for base image upgrade:
Alternative image types
Base Image Vulnerabilities Severity
node:current-buster-slim 53 10 high, 4 medium, 39 low
node:15.5-slim 72 18 high, 7 medium, 47 low
node:current-buster 304 33 high, 43 medium, 228 low
3. Docker ã€ã¡ãŒãžã®ããŒã.jsã©ã³ã¿ã€ã ã®è匱æ§ãä¿®æ£ãã
Dockerã³ã³ããã€ã¡ãŒãžã®ãªã¹ã¯ã管çããéã«èŠèœãšãããã¡ãªè©³çްã¯ãã¢ããªã±ãŒã·ã§ã³ã©ã³ã¿ã€ã èªäœã§ãã Docker for Java ãå®è·µããŠããå Žåã§ãã Docker for Node.js Web ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããŠããå Žåã§ããNode .js ã¢ããªã±ãŒã·ã§ã³ ã©ã³ã¿ã€ã èªäœãè匱ã§ããå¯èœæ§ããããŸãã
Node.jsã»ãã¥ãªãã£ãªãªãŒã¹ãš Node.jsã»ãã¥ãªãã£ããªã·ãŒãèªèããããã«åŸãå¿ èŠããããŸãã ãããã«æåã§è¿œãã€ã代ããã«ãSnykãå©çšããŠããŒã.jsã»ãã¥ãªãã£ã®è匱æ§ãèŠã€ããŸãã
ããŸããŸãª Node.js ããŒã¹ã€ã¡ãŒãžã¿ã°ã®ã»ãã¥ãªãã£è匱æ§ã«é¢ããã³ã³ããã¹ããå¢ããããã«ãSnyk CLI ã䜿çšããŠãããã®äžéšãã¹ãã£ã³ããçµæãæ¬¡ã®å¯Ÿæ°ã¹ã±ãŒã«ãã£ãŒãã«ããããããŸããã
ããªãã¯ãããèŠãããšãã§ããŸã:
- node:latest ãšããŠãã¿ã°ä»ããããããã©ã«ãã® ããŒã ããŒã¹ã€ã¡ãŒãžã¿ã°ã¯ã500ãè¶ ããã»ãã¥ãªãã£è匱æ§ããã³ãã«ããŠããŸãããNode.jsã©ã³ã¿ã€ã èªäœã«2ã€ã®ã»ãã¥ãªãã£è匱æ§ãå°å ¥ããŠããŸããçŸåšNode.js 15ããŒãžã§ã³ãæ¬çªç°å¢ã§å®è¡ããŠããŠãããããé©çšãŸãã¯ä¿®æ£ããŠããªãå Žåã¯ãå¿é ããå¿ èŠããããŸãã
- node:alpine ããŒã¹ã€ã¡ãŒãžã¿ã°ã¯ãããŒã¹ã€ã¡ãŒãžå ã®è匱㪠OS äŸåé¢ä¿ããã³ãã«ããŠããªãå¯èœæ§ããããŸãã (ãããéãããŒãæ¬ èœããŠããçç±ã§ã)ãææ°ã® Node.js ã©ã³ã¿ã€ã (ããŒãžã§ã³ 15) ã®è匱ãªããŒãžã§ã³ãæ®ã£ãŠããŸãã
- ãµããŒããããŠããªãããŒãžã§ã³ã® Node.js (Node.js 10 ãªã©) ãå®è¡ããŠããå Žåãè匱ã§ãããã»ãã¥ãªãã£æŽæ°ããã°ã©ã ãåä¿¡ããŠããªãããšãããããŸãã
ãã®èšäºã®å·çæç¹ã§ããªãªãŒã¹ãããææ°ããŒãžã§ã³ã§ãã Node.js ããŒãžã§ã³ 15 ãéžæããå Žåãå®éã«ã¯ããã®ã³ã³ãããŒå ã® 561 ã®ã»ãã¥ãªãã£è匱æ§ã ãã§ãªããNode.js ã©ã³ã¿ã€ã èªäœã® 2 ã€ã®ã»ãã¥ãªãã£è匱æ§ã«ããããããããšã«ãªããŸãã
Docker ã¹ãã£ã³ ãã¹ãã®çµæã¯ã次ã®ãããªã㯠ã€ã¡ãŒãž ãã¹ã URL https://snyk.io/test/docker/node:15.5.0 ã§ç¢ºèªã§ããŸãã ãã®ãããªãã¯ã§ç¡æã®Dockerã¹ãã£ã³ãµãŒãã¹ã§äœ¿çšããŠããä»ã®ããŒã.jsããŒã¹ã€ã¡ãŒãžã¿ã°ããã¹ãããããšãã§ããŸã: https://snyk.io/testã
ã»ãã¥ãªãã£ã¯çŸåš ãDockerã¯ãŒã¯ãããŒã®äžå¯æ¬ ãªéšåã§ãããSnykã¯Docker HubãšDocker Desktopã§ã®ã³ã³ããã¹ãã£ã³ã匷åããŠããŸãã å®éãéçºãã©ãããã©ãŒã ãšã㊠Docker ã䜿çšããŠããå Žåã¯ã Snyk ããã³ Docker ã®è匱æ§ããŒãã·ãŒãã確èªããå¿ èŠããããŸãã
ãã§ã«DockerãŠãŒã¶ãŒã¢ã«ãŠã³ãããæã¡ã®å Žåã¯ãããã䜿çšããŠSnykã«æ¥ç¶ããæã«æå€§200åã®ç¡æã¹ãã£ã³ã§ Docker Hubãªããžããªããã°ããã€ã³ããŒã ã§ããŸããÂ
4. ããŒã.jsã¢ããªã±ãŒã·ã§ã³çšã«ãããã€ããã Docker ã€ã¡ãŒãžãç£èŠãã
Docker ã€ã¡ãŒãžããã«ãããããã€ã¡ãŒãžã远跡ãã Docker ã¬ãžã¹ããªã«ããã·ã¥ããŠãããããæ©èœçãªã³ã³ãã㌠ã¢ããªã±ãŒã·ã§ã³ãšããŠãããã€ããã³ã¹ãã³ã¢ããã§ããããã«ããŸãã
Dockerã®åºæ¬ã€ã¡ãŒãžãç£èŠããå¿ èŠãããã®ã¯ãªãã§ãã?
ãããŸã§ã«èª¬æãããã¹ãŠã®ã»ãã¥ãªãã£ã¬ã€ãã©ã€ã³ãããŒã¹ã€ã¡ãŒãžã®ã¹ãã£ã³ãšä¿®æ£ã§å®è·µããŠããå Žåã¯ãããã¯çŽ æŽãããããšã§ãã ãã ããæ°ããã»ãã¥ãªãã£ã®è匱æ§ã¯åžžã«çºèŠãããããšã«æ³šæããŠãã ããã çŸåšãã€ã¡ãŒãžã« 78 åã®ã»ãã¥ãªãã£è匱æ§ãããå Žåãææ¥ã®æãæ°ãã CVE ãå ±åãããæ¬çªç°å¢ã§å®è¡äžã®ã³ã³ãããŒã«åœ±é¿ãäžãããšãã« 100 åãååšããªãããã§ã¯ãããŸããã ãã®ãããã³ã³ãã㌠ã€ã¡ãŒãž (ã³ã³ãããŒã®ãããã€ã«äœ¿çšããŠããã³ã³ãã㌠ã€ã¡ãŒãž) ã®ã¬ãžã¹ããªãç£èŠããããšã¯ãã»ãã¥ãªãã£ã®åé¡ãããã«èŠã€ããŠä¿®åŸ©ã§ããããã«ããããã«éèŠã§ãã
ã€ã¡ãŒãžã«ææã® Docker Hub ã¬ãžã¹ããªã䜿çšããŠããå Žåã¯ãDocker Hub ã§ Snyk ã«ããçµ±åããã Docker ã»ãã¥ãªã㣠ã¹ãã£ã³ãæ¢ã«èŠãããšããããããããŸãããÂ
Snykã¢ããªããçŽæ¥å€ãã®Dockerã€ã¡ãŒãžã¬ãžã¹ããªãšçµ±åããããšãã§ããŸããäŸãã°ãDocker HubãACRãECRãGCRããŸãã¯Artifactoryããç»åãã€ã³ããŒããããšãSnykã¯ãããã宿çã«ã¹ãã£ã³ããèŠã€ãã£ãã»ãã¥ãªãã£åé¡ã«ã€ããŠSlackãŸãã¯é»åã¡ãŒã«ã§èŠåããŸãã
5. ã»ãã¥ãªãã£ã¬ã€ãã©ã€ã³ãšæ¬çªã°ã¬ãŒãã®æšå¥šäºé ã«åŸã£ãŠãå®å šã§æé©ãªNode.js Dockerã€ã¡ãŒãžãäœæããŸã
ãããŸã§ã®ãã¹ãŠã®ã»ãã¥ãªãã£ã¬ã€ãã©ã€ã³ã«è¿œãã€ããŠããŠãããŠããã§ãšãããããŸã!
æåŸã«ãNode.jsããã³Javaã¢ããªã±ãŒã·ã§ã³ã«æé©ãªDockerã€ã¡ãŒãžãæ§ç¯ããããã®ã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ãæ·±ãæãäžãããå Žåã¯ã次ã®ãªãœãŒã¹ã確èªããŠãã ããã
- 10 Dockerã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ â DockerããŒã¹ã€ã¡ãŒãžãæ§ç¯ãããšããããã³ãããããã«ãããšãã«åŸãã¹ã詳现ãªã»ãã¥ãªãã£ãã©ã¯ãã£ã¹ã¯ãèªè ã«Dockerã³ã³ãã³ãã®ä¿¡é Œã玹ä»ããããã§ããããŸãã
- ããªãã¯Javaéçºè ã§ãã? ãã®ãªãœãŒã¹ã¯è²Žéã§ã: Java éçºè åãã® Docker: ã»ãã¥ãªãã£ã倱æãããªãããã«ç¥ã£ãŠããã¹ã 5 ã€ã®ããšã
- Docker ã䜿çšã㊠Node .js Web ã¢ããªã±ãŒã·ã§ã³ãã³ã³ãããŒåããããã® 10 ã®ãã¹ã ãã©ã¯ãã£ã¹ â Node.js éçºè ã§ããã°ãNode.js ã¢ããªã±ãŒã·ã§ã³çšã«å®å šã§ããã©ãŒãã³ã¹ã®é«ã Docker ããŒã¹ ã€ã¡ãŒãžãæ§ç¯ããæ¹æ³ã瀺ãããã®ã¹ããããã€ã¹ãããã®ãã¥ãŒããªã¢ã«ãæ°ã«å ¥ãã¯ãã§ãã
Snyk ãš Docker ID ã䜿çšã㊠ã³ã³ãã㌠ã€ã¡ãŒãžã®ãã¹ããšä¿®æ£ ãéå§ããŸãã