ç§ãã¡ã¯ãæã人æ°ã®ããéçºè åããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§Dockerãšã¯ã¹ããªãšã³ã¹ãå¯èœãªéãã·ãŒã ã¬ã¹ã«ãªãããã«ãMacããã³Windowsã¢ããªçšã®ãã€ãã£ãDockerãæ§ç¯ããããã«æžåœã«åãçµãã§ããŸããã Docker for Mac ããã³ Windows ã«ã¯ãã¹ãã¬ãŒãžãšãããã¯ãŒã¯ããã¹ããã Docker ã³ã³ãããŒã«å¹ççã«ããªããžãã Linux Docker ã³ã³ãããŒãèµ·åããããã«å¿ èŠãªãã®ããã¹ãŠå«ãŸããŠããŸãã ãããã¯MacOS XãšWindowsã®äž¡æ¹ã§ééçã«åäœããä»ã®ãµãŒãããŒãã£ãœãããŠã§ã¢ãå¿ èŠãšããŸããã
Solomon Hykes ã¯æ¬æ¥ OSCON 2016 ã§åºèª¿è¬æŒãè¡ããå ±åãªãŒãã³ãœãŒã¹éçºã®æ¶é²ããŒã¹ã Docker ã®æŽå²ãéããŠå¯èœã«ããŠãã æŒžé²çãªé©åœã«ã€ããŠèªããŸããæ¬æ¥ãç§ãã¡ã¯æ¢åã®ãªãŒãã³ãœãŒã¹ãžã®è²¢ç®ã«å ããŠãMacããã³Windowsãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³çšã®Dockerã匷åããã³ã¢ãã¯ãããžãŒããªãŒãã³ãœãŒã¹åããŠããŸãã
Mac ããã³ Windows çšã® Docker ãæ§ç¯ããã«ã¯ãããŒããŠã§ã¢ä»®æ³åãçµã¿èŸŒã¿ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ããŠãã«ãŒãã« ãã¯ãããžãçµ±åããå¿ èŠããããŸãããããã®éæ³ããšã³ã ãŠãŒã¶ãŒã«å ¬éããå¿ èŠã¯ãããŸããã ã¢ããªã±ãŒã·ã§ã³ã®ãã³ãããã®äžãèŠãŠããã®ãœãŒã¹ã³ãŒãã®äžéšãäœãããã®ããçè§£ããããã«è²¢ç®ããæ¹æ³ãç¬èªã®ãããžã§ã¯ãã§äœ¿çšããæ¹æ³ãããããçè§£ããŸãããã
Docker for Mac ãå®è¡ãããšãDocker Engine ã®ææ°ã®å®å®çãªãªãŒã¹ãå«ãåäžã®çµã¿èŸŒã¿ Linux ã€ã³ã¹ã¿ã³ã¹ãå®è¡ããããã ãã«ååšãã軜éãã€ããŒãã€ã¶ãŒãèµ·åããŸãã ã»ãšãã©ã®ãã€ããŒãã€ã¶ãŒãšã¯ç°ãªããä»å±ã® ãã€ããŒãã€ã¶ãŒãã¬ãŒã ã¯ãŒã¯(OSX 10.10以éã§å©çšå¯èœ)ã䜿çšãããããç¹å¥ãªç®¡çè æš©éã¯å¿ èŠãããŸããã Docker ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãLinux ãš OSX/Windows ã»ãã³ãã£ã¯ã¹ã®éã§ã€ã³ããªãžã§ã³ãã«ãããããããã¹ã ãããã¯ãŒã¯ããã³ã¹ãã¬ãŒãžæ©èœã Docker VM ã«æäŸããã©ã€ãã©ãªããã³ãã«ãããŠããŸãã

- ãã€ããŒããã ⢠: OSXäžã®è»œéä»®æ³åããŒã«ããã
- DataKit ⢠: 忣ã³ã³ããŒãã³ãã®ããã®ææ°ã®ãã€ãã©ã€ã³ãã¬ãŒã ã¯ãŒã¯
- VPNKit ⢠: ä»®æ³ãããã¯ãŒã¯ãåã蟌ãããã®ã©ã€ãã©ãªããŒã«ããã
ãããã®åãããã¯ãåå¥ã«äœ¿çšããããšããäžç·ã«äœ¿çšããŠãMac çšã® Docker ã Windows ãªã©ã®å®å šãªè£œåã圢æããããšãã§ããŸããããã¯ã»ãã®å§ãŸãã«éããŸãã:å°æ¥ãæçããã«ã€ããŠããå€ãã®ã³ã³ããŒãã³ã(ãã¡ã€ã«ã·ã¹ãã ãã¬ãŒã ã¯ãŒã¯ãªã©)ãéãäºå®ã§ãããããã¯ãã¹ãŠãåå¿è ãåŒãåããããã®å³éžããããã€ãªãã¢ãããžã§ã¯ãã®ã»ãããæã£ãŠããŸã: ãã€ããŒããã , ããŒã¿ããã ⢠⢠, ããã³ VPNKit ⢠ã

HyperKit
HyperKit ã¯ãMacOS X 10.10 以éã§ãã€ã㌠ãã€ã¶ãŒãã¬ãŒã ã¯ãŒã¯ãæäŸãããŠããããã«å¯èœãªä»®æ³åãžã®è»œéã¢ãããŒãã«åºã¥ããŠããŸãã HyperKit ã¢ããªã±ãŒã·ã§ã³ã¯ãããŒããŠã§ã¢ä»®æ³åãå©çšã㊠VM ãå®è¡ã§ããŸãããææ Œãããç¹æš©ãè€éãªç®¡çããŒã« ã¹ã¿ãã¯ã¯å¿ èŠãããŸããã
HyperKit 㯠xHyve ããã³ bHyve ãããžã§ã¯ãäžã«æ§ç¯ãããŠãããVPNKit ã DataKit ãªã©ã®ä»ã®ã³ã³ããŒãã³ããšã®ã€ã³ã¿ãŒãã§ãŒã¹ã容æã«ããè¿œå æ©èœãåããŠããŸããHyperKit ã¯ã©ã€ãã©ãªãšããŠåºãæ§æãããŠããããããŠãã«ãŒãã«ã©ã€ãã©ãªãšãªã³ã¯ããã®ã¯ç°¡åã§ãã äŸãã°ãOCaml ã§æžããã MirageOS QCow ã©ã€ãã©ãªã䜿çšããæ°žç¶çãªãããã¯ããã€ã¹ãµããŒãã远å ããŸããã
ã©ã®ããã«è²¢ç®ã§ããŸãã?
è²¢ç®ã®ããã®3ã€ã®çŽ æŽãããåéããããŸã:
- ããå€ãã®ã²ã¹ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®èµ·åããµããŒãããŸãã Linuxã¯ãçŸåšãµããŒããããŠããå¯äžã®ããã¡ãŒã¹ãã¯ã©ã¹ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ãã FreeBSD ã¯èµ·åããŸãããã€ã³ã¹ããŒã©ãå®è¡ããå¿ èŠããããããã·ãŒã ã¬ã¹ã§ã¯ãããŸããã WindowsãOpenBSDãNetBSD ãèµ·åããããã® BIOS ãµããŒãã远å ããããã®ããããååšããŸããã ããå€ãã®ãã¹ããå¿ èŠã§ãã
- ãã髿°Žæºã®èšèªãã€ã³ãã£ã³ã°ã®ãµããŒãã HyperKit ã¯ã©ã€ãã©ãªãšããŠæ§æãããŠãããããéåžžã®å€åœèªé¢æ°ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠé«æ°Žæºèšèªãšã€ã³ã¿ãŒãã§ã€ã¹ã§ããŸãã
- ãã€ããŒãã€ã¶ãŒæ©èœãÂ äžæ/åéãã©ã€ãåé 眮ãããŒããŠã§ã¢ ããã©ãŒãã³ã¹ ã«ãŠã³ã¿ãŒã®ãµããŒããªã©ãäžéšã®åŸæ¥ã®ãã€ããŒãã€ã¶ãŒæ©èœã¯ãµããŒããããŠããŸããã ãããã¯ãHyperKitã軜éã§åã蟌ã¿ããããã®ã«ããããã«ãä»ã®ã³ãŒãããŒã¹ãšåãã©ã€ãã©ãªã¹ã¿ã€ã«ã§è¿œå ããå¿ èŠããããŸãã
ç§ãã¡ã¯ãè²¢ç®ãããããã®äžæµãããžã§ã¯ãã«æåºã§ããããã«æ§æãããŠããããšãä¿èšŒããŸãã
ä»ã«ã©ã®ããã«äœ¿çšã§ããŸãã?
ç¹æ®ãªä»®æ³ãã·ã³ãçæéã®ä»®æ³ãã·ã³ãèµ·åããå¿ èŠãããã¢ããªã±ãŒã·ã§ã³ã¯ãHyperKit ãšãªã³ã¯ããããšã§ã¡ãªãããåŸãããšãã§ããŸãã ãããã¯ãLinuxãªã©ã®åŸæ¥ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããŸãã¯HyperKitã«ç§»æ€ãããåŸã® ãŠãã«ãŒãã«ãããžã§ã¯ãã®äžéšã§ããå¯èœæ§ããããŸãã
DataKit
DataKit ã¯ãgit äºæã®ãã¡ã€ã«ã·ã¹ãã ã€ã³ã¿ãŒãã§ã€ã¹ã§ããã»ã¹ã調æŽããããã®ããŒã«ãããã§ãã UNIXãã€ãã©ã€ã³ã®æŠå¿µãšPlan9 9Pãããã³ã«ã忀èšããŸãããçã®ããã¹ãã§ã¯ãªãããªãŒæ§é ã®ããŒã¿ã®ã¹ããªãŒã ãšããçŸä»£çãªã²ãããå ããŠããŸãã DataKit ã§ã¯ãããŒãžã§ã³ç®¡çããããã¡ã€ã« ã·ã¹ãã ãšå¯Ÿè©±ããã·ã§ã« ã¹ã¯ãªããã®ãããªåçŽãªãã®ã䜿çšããŠãççµåããã»ã¹éã®è€éãªã¯ãŒã¯ãããŒãå®çŸ©ã§ããŸãã
DataKit ã¯ãããŒã¿ ãããŒã«é¢ããã¢ããªã±ãŒã·ã§ã³ ã¢ãŒããã¯ãã£ãåèããããã¹ãŠãããŒãžã§ã³ç®¡çããããã¡ã€ã«ã§ããã git æä»£ã«ãPlan 9 ã®ããã¹ãŠããã¡ã€ã«ã§ããããšããç¥æµã埩掻ããããã®ã§ãã ç§ãã¡ã¯ Docker for Mac ãš Windows ã§ DataKit ãš 9P ãå€çšããŠãããããGo çšã®ã¢ãã³ã§ããã©ãŒãã³ã¹ã®é«ã 9P ã©ã€ãã©ãªã§ãã go-p9p ããªãŒãã³ãœãŒã¹åããŠããŸãã
ä»ã«ã©ã®ããã«äœ¿çšã§ããŸãã?
ãã®ãªããžããªã«ã¯ãDataKit ã䜿çšããŠç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ ã·ã¹ãã ã 50 è¡ã®ã·ã§ã« ã¹ã¯ãªããã§äœæãããµã³ãã« ãããžã§ã¯ãããããŸãã github.com/docker/datakit/tree/master/ci
README ã§ã¯ãDataKit ãš GitHub ã®çµ±åã«ã€ããŠã説æããŠããŸãã DataKit ã¯ãããŒã¿ã«é¢ããããã»ã¹ã調æŽããå¿ èŠãããããããç¶æ³ã§äœ¿çšã§ããããŒãžã§ã³å¯Ÿå¿ç»é²ãããããŒã¿ã«é¢ããå Žåã«åšåãçºæ®ããŸãã
ã©ã®ããã«è²¢ç®ã§ããŸãã?
DataKit ã§ã® GitHub PR ãµããŒãã¯ãŸã éåžžã«åºæ¬çãªãã®ã§ãããããã¯è¿œå ã®ã³ã³ããªãã¥ãŒã·ã§ã³ã䜿çšã§ããé åã§ãã DataKit ã¯ããããžã§ã¯ãã§ã®äœ¿ç𿹿³ãå ±æãããªã©ãéåžžã«å¹ åºããŠãŒã¹ ã±ãŒã¹ã«äœ¿çšã§ããŸãã
VPNKit
VPNKit ã¯ãçã®ã€ãŒãµããããããã¯ãŒã¯ãã©ãã£ãã¯ãšãMacOS X ãŸã㯠Windows ã§ã®åçã®ãœã±ããåŒã³åºããšã®éã§å€æãè¡ããããã¯ãŒã¯ã©ã€ãã©ãªã§ãã ãã㯠MirageOS TCP/IP ãŠãã«ãŒãã«ã¹ã¿ãã¯ã«åºã¥ããŠãããOCaml ã§æžãããã©ã€ãã©ãªã§ããã VPNKããã¯ããŠãŒã¶ãŒç©ºéã§ãããã¯ãŒã¯ãããã³ã«ããã现ããå¶åŸ¡ããå¿ èŠãããå Žåã«äŸ¿å©ã§ãããé«çŽèšèªã§æ¡åŒµã§ãããšãã远å ã®å©äŸ¿æ§ããããŸãã
ã©ã®ããã«è²¢ç®ã§ããŸãã?
VPNKit ã¯ãDocker for Mac ãŸã㯠Windows ãééãããã¹ãŠã®ã³ã³ãã ãã©ãã£ãã¯ã®ã€ã³ã¿ãŒã»ãã ãã€ã³ããæäŸããŸãã ãã±ããã®ãã£ããã£ãšã€ã³ã¹ãã¯ã·ã§ã³ãç¹å®ã®ãã©ãã£ãã¯ãã¿ãŒã³ããã£ã«ã¿ãªã³ã°ãããããã³ã«ãããã·ããŸãã¯Webã¢ããªã±ãŒã·ã§ã³ããããã°ããããã®HTTPãããã³ã«ã®èŠèŠåã®ãµããŒãã«ããæ¡åŒµã§ããŸãã
ä»ã«ã©ã®ããã«äœ¿çšã§ããŸãã?
VPNKitãããå€ãã®ãšã³ããã€ã³ãã¿ã€ãããµããŒãããŠããå Žåãå®éã«çæããŠéä¿¡ãããªãŒããŒããããªãã«ããããã¯ãŒã¯ãã©ãã£ãã¯ããã¹ãããããã«ã䜿çšã§ããŸãããŸããã¢ããªã±ãŒã·ã§ã³ã³ã³ããŒãã³ãéã«è»œéã®ãªãŒããŒã¬ã€ãããã¯ãŒã¯ãæ§ç¯ããããã«ã䜿çšã§ããŸãã
[ãã€ãŒããMacããã³Windowsç #Docker ãæ°ãã #opensource ã³ã³ããŒãã³ã:#HyperKitã#DataKitã#VPNKit ãå°å ¥ã]
次ã®ã¹ããã
VPNKitãšDataKitã¯ãMacãšWindowsçšã®Dockerã®éåžžã«ç¹æ®ãªã³ã³ããŒãã³ããšããŠèªçããŸãããããªãŒãã³ãœãŒã¹åã«ãã£ãŠå¯èœã«ãªãå¯èœæ§ã«è奮ããŠããŸãã ããã§ã®ã¢ã€ãã¢ã¯æ±ºããŠç¶²çŸ çã§ã¯ãªããããªãèªèº«ã®ãããžã§ã¯ãã«ã€ããŠèãããšã楜ãã¿ã«ããŠããŸãã åé¡ã«ééãããšãããŸãã¯ç¹å®ã®ã¢ã€ãã¢ã«ã€ããŠè°è«ãããå Žåã¯ãããããã®ãã°ãã©ãã«ãŒã«åé¡ãå ±åããŠãã ããã
ãŸããOSCONã«åå ããŠããå Žåã¯ãæšææ¥ã®ååŸ3æãã6æãŸã§äŒè°å®€6ã§éå¬ããã OSCONã³ã³ããªãã¥ãŒãã»ãã·ã§ã³ã§ããããã®ãããžã§ã¯ãã®ã¡ã³ããã«äŒããååããŠãã ããã Docker for Mac ãš Windows ã®å éšã®è©³çްã«ã€ããŠã¯ã æšæ¥ OSCON ã§è¡ã£ãè¬æŒã®ã¹ã©ã€ããåç §ããŠãã ããã
ããã«ãŒã«ã€ããŠãã£ãšç¥ã
- ããã«ãŒã¯åããŠã§ãã? 10åéã® ãªã³ã©ã€ã³ãã¥ãŒããªã¢ã«ãã詊ããã ãã
- ç¡æã® Docker Hub ã¢ã«ãŠã³ãã§ã€ã¡ãŒãžãå ±æãããã«ããèªååããŸã
- Docker 1.11 ãªãªãŒã¹ããŒããèªã
- ããã«ãŒãŠã£ãŒã¯ãªãŒã賌èªãã
- ä»åŸã® Dockerãªã³ã©ã€ã³ããŒãã¢ããã«ãµã€ã³ã¢ãããã
- ä»åŸã® Docker ããŒãã¢ããã«åå ãã
- DockerCon EU 2015 ã®ãããªãèŠã
- Docker ãžã®è²¢ç®ãéå§ãã