
ÏÈ˵˵ÎÒÃÇÖªµÀµÄÊ£¬Docker ÊÇ PaaS ÌṩÉÌ DotCloud
¿ªÔ´µÄÒ»¸ö¸ß¼¶ÈÝÆ÷ÒýÇæ£¬Ô´´úÂëÍйÜÔÚ Github ÉÏ£¬»ùÓÚgoÓïÑÔ²¢×ñ´ÓApache2.0ÐÒ鿪Դ¡£DockerÏ൱ÓÚÎïÀíÐÐÒµµÄ¼¯×°Ïä¶ÔÎïÁ÷µÄÓ°ÏìÒ»Ñù£¬³ÉΪContainerÉÏÔËÐоµÏóµÄͳһ´ò°üºÍ½»»»µÄ±ê×¼£¬Docker½éÉÜÇë²Î¿´ÎÄÕÂÈÝÆ÷ÑݽøºÍ¼¼Êõ»ù´¡½éÉÜ¡£

ÎÒÃÇÖªµÀ£¬DockerʹÓÃÁËÈÝÆ÷µÄ»·¾³¸ôÀëºÍ×ÊÔ´ÏÞÖÆ¼¼Êõ£¬°Ñ¾µÏñºÍÔËÐл·¾³´ò°üµ½ImageÖС£RegisterÖ§³ÖÈÝÆ÷ÉÏ´«ºÍÏÂÔØ¹¦ÄÜ¡£

ÎÒÃÇÖªµÀ£¬DockerͬʱÌṩÁËBuild£¬ShipºÍRun£¬ÔËάֻÐèÒªÔÚ»·¾³ÖØÅäÖúÃDocker£¬Ê£ÏµĹ¤×÷¾ÍÊDz¿ÊðÈÝÆ÷£¬ÊµÏÖBuild
Once Run AnywhereºÍConfigure Once Run Anything£»´Ó¶ø´Ù½øÁËÈÝÆ÷¼¼ÊõµÄ±¬·¢¡£
Docker²ÉÓÃClient ServerģʽºÍ²å¼þʽ¼Ü¹¹Éè¼Æ£¬DockerµÄºó¶Ë²ÉÓ÷dz£ËÉñîºÏµÄ¼Ü¹¹£¬Ä£¿éÖ®¼äÏ໥¶ÀÁ¢£¬¾ßÌåÇë²Î¿´ÎÄÕÂDocker¼¼Êõ¼Ü¹¹Ïêϸ·ÖÎö¡£

Óû§Í¨¹ýDocker ClientÓëDocker Daemon½¨Á¢Í¨ÐÅ£¬²¢·¢ËÍÇëÇó¸øDocker Daemon¡£Docker
DaemonÌṩServer¹¦ÄܽÓÊÜDocker ClientµÄÇëÇó£»Ëæºóͨ¹ýEngineÖ´ÐÐDockerÄÚ²¿µÄһϵÁй¤×÷£¬Ã¿Ï×÷¶¼ÊÇÒÔÒ»¸öJobµÄÐÎʽµÄ´æÔÚ¡£
Docker½²µ×²ãÈÝÆ÷ÔËÐÐʱ°þÀë³öÀ´£¬ÊµÏÖ¸üºÃµÄƽ̨ÎÞ¹ØÐÔ¡£LibContainerÊǶԸ÷ÖÖÈÝÆ÷µÄ³éÏ󣬷¢Õ¹ÎªRunC£¬²¢¹±Ï׸øOCP×éÖ¯×÷Ϊ¶¨ÒåÈÝÆ÷»·¾³µÄ±ê×¼¡£

ÎÒÃÇ»¹ÖªµÀDockerÈÝÆ÷µÄÈý´ó±àÅŹ¤¾ß£¬Compose¡¢SwarmºÍMachine¡£ComposeÊÇ·þÎñ±àÅŹ¤¾ß£¬ÊǶ¨ÒåºÍÔËÐÐDockerÖ÷»úÉ϶àÈÝÆ÷Ó¦ÓõŤ¾ß£¬Í¨¹ýµ¥¶ÀÎļþ£¬¶¨Òå¶àÈÝÆ÷Ó¦Óò¢ÔËÐÐÈÝÆ÷¡£
MachineÊÇ»úÆ÷¹ÜÀí¹¤¾ß£¬¼ò»¯ÈÝÆ÷°²×°ºÍ²¿Êð£¬Í¨¹ý¼òµ¥ÃüÁîʵÏÖ¶ÔDockerÈÝÆ÷µÄÆô¶¯¡¢Éý¼¶ºÍÍøÂçÅäÖá£

SwarmÊÇDockerÈÝÆ÷µÄ»úÆ÷¹ÜÀí¹¤¾ß£¬Ê¹µÃDocker»úÆ÷Äܹ»ÓÐЧµÄ±»¹ÜÀíÆðÀ´£¬ÁíÍ⣬Docker»¹Óиö´ò°ü¹¤¾ß½ÐDockerFile¡£

ÎÒÃÇÒ²ÖªµÀ£¬DockerµÄÍøÂç¼¼ÊõºÍÄÜÁ¦Ò»Ö±ÊÇÈÝÆ÷¼¼ÊõÖÐ×îÄÑ¡¢Ò²ÊÇ×î²»¿´ºÃµÄ¼¼ÊõÖ®Ò»£¬ÓÉÓÚÈÝÆ÷¼¼Êõ±¾ÉíµÄÍøÂçÄÜÁ¦¾ßÓоÖÏÞÐÔ£¬²Î¿´ÎÄÕÂDockerÔÉúÍøÂçºÍʵÏÖÔÀí¡£ËùÒÔĿǰDockerµÄÍøÂç¼¼ÊõÁ÷ÅÉÒ²ºÜ¶à£¬¾ßÌåÇë²Î¿´ÎÄÕÂDockerÍøÂçÔöÇ¿ÏîÄ¿»ò½«Òý±¬Î´À´¡£

LibnetworkÊÇDocker¹«Ë¾ÕýÔÚ¿ª·¢µÄеÄÍøÂçµ×²ã¼Ü¹¹£¬ÓÉlibcontainerºÍDocker
EngineÖеÄÍøÂçÏà¹ØµÄ´úÂëºÏ²¢¶ø³É¡£LibnetworkµÄÄ¿±êÊÇÒýÈëÁËÈÝÆ÷ÍøÂçÄ£ÐÍ(CNM)£¬²¢ÎªÓ¦ÓóÌÐòÌṩһÖµıà³ÌAPI½Ó¿ÚÒÔ¼°ÍøÂç³éÏó¡£
LibnetworkµÄÈÝÆ÷ÍøÂçÄ£ÐͰüº¬ÁËÈý¸öÖØÒª¸ÅÄNetwork Sandbox£¬EndpointºÍNetwork¡£
Weave´´½¨ÁËNetworking Plugin¼¼Êõ£¬Ä¿Ç°³ÉÊìµÄÓÐNetworking
PluginºÍVolume Plugin¡£

Weave·½°¸°üº¬Á½´ó×é¼þ£¬Óû§Ì¬Shell½Å±¾ºÍWeaveÐéÄâ·ÓÉÈÝÆ÷¡£WeaveÐéÄâ·ÓÉÈÝÆ÷ÐèÒªÔÚÿ¸öËÞÖ÷»úÉϲ¼ÖõÚÈý·½²å¼þ£¬°Ñ²»Í¬ËÞÖ÷»úµÄRouteÈÝÆ÷Á¬½ÓÆðÀ´£¬Ê¹µÃDocker¹¤¾ßÉú̬Î޷켯³Éµ½Docker¡£
Weave´´½¨Ò»¸öÐéÄâÍøÂ磬Á´½Ó¶à¸öÖ÷»úµÄDockerÈÝÆ÷£¬²¢Ê¹ËûÃÇ¿ÉÒÔ±»×Ô¶¯·¢ÏÖ£¬¶ÔʹÓøÃÍøÂçµÄÓ¦ÓÃÀ´Ëµ£¬ËùÒÔÈÝÆ÷¾ÍÏñÊÇÁ´½ÓÔÚͬһ¸öÍøÂç½»»»»úÉÏ£¬ÎÞÐèÅäÖö˿ÚÓ³Éä¡¢Á´Â·µÈ²ÎÊý¡£
»òÐíÎÒÃÇÖªµÀ£¬Ö»ÓÐÂú×ãÒªÇóµÄDockerÏà¹Ø´úÂ룬×ÊÔ´²ÅÔÊÐí·¢²¼¡£ÕâÊÇDocker°²È«ÌØÐÔµÄÒªÇó£¬ÎªÁËÌáÉýDockerµÄ°²È«ÐÔ£¬Notary°²È«¹ýÂËÆ÷±»ÒýÈëµ½DockerÖУ¬±£Ö¤»¥ÁªÍøÓû§²Ù×÷µÄ¹æ·¶ÐԺͰ²È«ÐÔ¡£


µ«ÊÇ£¬ÏÂÃæµÄÄÚÈÝÄú¾Í²»Ò»¶¨ÖªµÀ£¬ÄÇôÏÂÃæÎÒÃǾÍÖØµã̸̸ÎÒÃDz»ÖªµÀ»òÖªµÀ²»¶àµÄDocker֪ʶ¡£
ÈÝÆ÷ºÍÈÝÆ÷OS
CoreOSÖ§³Ö¼¯Èº¹ÜÀí£¬ÊÇ×îΪÊÜ»¶ÓµÄÈÝÆ÷ÐéÄ⻯OS£¬×¨ÎªDockerÉè¼ÆºÍÄں˲üô¡£
CoreOSÖÐÓÐÁ½¸ö¹Ø¼üÈÝÆ÷¼¯Èº¹ÜÀí¹¤¾ß£¬etcdÖ÷ҪʵÏÖ¼¯Èº·þÎñ·¢ÏÖ¡¢ÐÅÏ¢¹²ÏíºÍÊý¾Ýͬ²½£»¶øFleetʵÏÖ¼¯Èº×´Ì¬Î¬»¤¡¢ÈÝÆ÷²Ù×÷ºÍÈ·±£·þÎñÒ»Ö¿ÉÓá£

VMwareÒ²ÍÆ³öÁËÈÝÆ÷OSϵͳPhoton£¬ÔÚVMwareÉÏ´´½¨VM£¬²¢ÇÒ°²×°Photonϵͳ¼´¿É²¿ÊðÔËÐÐÈÝÆ÷£¬²¢ÇÒÖ§³ÖĿǰÖ÷Á÷µÄDocker¡¢RktºÍPGCÈÝÆ÷ƽ̨¡£Photon¿ÉÒÔÈÝÆ÷¹ÜÀíÈÏÖ¤¹¤¾ßLightwaveÅäºÏ£¬¿ÉÒÔʵÏÖ¸üºÃµÄȨÏÞ¹ÜÀí¡£

DockerÈÝÆ÷ºÍ´æ´¢
DockerÈÝÆ÷ÔÚÊý¾Ý¶ÁдºÍ´æ´¢ÉÏ£¬ÊDzÉÓ÷ֲãºÍCOWµÄ´æ´¢¼¼ÊõʵÏÖ£¬¾ßÌåÇë²Î¿´ÎÄÕÂDockerЯÊÖAUFSÅãÄã¹²¶ÈÆßÇɽڡ£Docker±¾ÉíµÄCOWÎļþϵͳ²»Ö§³ÖÊý¾Ý³Ö¾Ã±£´æ£¬ÔÚÈÝÆ÷±»É¾³ý»òÖØÆôºó£¬Ö®Ç°µÄÎļþ¸ü¸Ä¾Í»á¶ªÊ§£¨±ä»¯µÄÊý¾Ý±»ÒÔCOWдµ½Ò»¸öеÄλÖã©¡£

VolumeµÄÒýÈëËäÈ»½â¾öÁËÊý¾Ý¶ªÊ§ÎÊÌ⣬µ«Êǵ±ÈÝÆ÷Ç¨ÒÆºó£¬Êý¾Ý¾íÎÞ·¨¸úËæDockerÈÝÆ÷Ò»ÆðÇ¨ÒÆ£¬ClusterHQµÄFlockerµÄ³öÏÖǡǡ½â¾öVolumeµÄ²»×㣬ʹµÃÊý¾Ý¸úËæDockerÇ¨ÒÆ¡£

FlockerµÄÈÝÆ÷ºÍ´æ´¢¾íÇ¨ÒÆ·ÖÎªÈ«Ç¨ÒÆºÍÔöÁ¿Í¬²½Á½¸ö¹ý³Ì£¬ÅäÖÃÎļþÃèÊöDocker²¿Êð·½Ê½ºÍ״̬£¬ÔËÐÐÅäÖÃÔòÉúЧ£¨Ç¨ÒÆRedis£©£»ÒÔÇ¨ÒÆ±¾µØ´æ´¢£¨·Ç¹²Ïí´æ´¢£©ÎªÀý£¬Õû¸ö¹ý³ÌΪÏÈ´ò¿ìÕÕ£¬È«Ç¨ÒÆ£¬ÔöÁ¿Í¬²½¡£

FlockerÒÔDocker Volume PluginµÄ·½Ê½²¿ÊðÔÚDockerÖУ¬ÓëDocker¼¯³É¡£Ä¿Ç°¹²Ïí´æ´¢µÄÖ§³ÖÄÜÁ¦±È½Ï³ÉÊ죬֧³ÖµÄ²úÆ·°üÀ¨AWS
EBS¡¢Scale IOºÍXtremIOµÈ£¬²¢ÇÒÖ§³ÖÈçAWS¡¢RackspaceµÈÔÆÆ½Ì¨£»±¾µØ´æ´¢·½Ê½ÔÚ¼¼Êõ³ÉÊì¶ÈÉϲ¢²»¸ß¡£

Flockerͨ¹ýStorage DriverÆÁ±Î´æ´¢²îÒ죬²¢Í¨¹ý´æ´¢ÌṩµÄFlocker±ê×¼½Ó¿ÚʵÏÖ¶Ôµ×²ã´æ´¢²Ù×÷£¬µ±Ö÷»úÈÝÆ÷ÔÚ²»Í¬Ö÷»ú¼äÇ¨ÒÆÊ±£¬FlockerÖ»ÐèÒª¶ÔÈÝÆ÷µÄVolume½øÐÐÖ÷»úµÄÖØÓ³Éä¡£

Rex-RayºÍDoggedÊÇDocker¿ªÔ´´æ´¢ÏîÄ¿£¬Ö¼ÔÚ³éÏóÈÝÆ÷¾í¹ÜÀí£¬Í¨¹ýDocker
storage APIºÍStorage DriverÆÁ±Î´æ´¢²îÒ죬ÒÔÈÝÆ÷ΪÁ£¶È¹ÜÀíºÍ·¢·Å´æ´¢£¬¼ò»¯ÈÝÆ÷¹ÜÀí¡£

ÔÚÈÝÆ÷³Ö¾Ã»¯ÈÝÆ÷·½Ã棬EMCÒѾÇÀÕ¼ÏÈ»ú£¬Í¨¹ýÓëFlockºÏ×÷£¬²¢ÇÒÖ±½Ó²ÎÓëDocker¿ªÔ´ÏîÄ¿Rex-RayºÍDogged£¬ÒѾÊÂʵÉÏ¿ØÖÆÁË´æ´¢ÐéÄ⻯½Ó¿Ú±ê×¼£¬¶Ô´æ´¢ºÍDockerÈÝÆ÷µÄ·¢Õ¹ÉÏÒѾ»ñµÃ¸ü¶à»°ÓïȨ¡£

Ëæ×ÅDocker¼¼ÊõµÄ·ÉËÙ·¢Õ¹£¬ÈÝÆ÷ÀàËÆÓÚÐéÄâ»ú¶ÔÕóÁеĽӿÚÐèÇó½«ËæÖ®¶øÀ´£¬Rex-RayºÍDogged¼¼ÊõÀýÖ¤¡£
DockerÓëPaaS
ËæÖ®ÈÝÆ÷µÄ·¢Õ¹£¬CaaSÈÝÆ÷¼´·þÎñµÄ¸ÅÄîҲӦʱ¶øÉú£¬Æä´óÒâ¾ÍÊÇ»ù´¡ÉèÊ©ÒÔÈÝÆ÷µÄ·½Ê½À´¹©¸ø¸øÓ¦ÓÃʹÓá£

ÒÔÈÝÆ÷Ϊµ¥Î»³ÉΪPaaSµÄ¹²Ê¶£¬»ùÓÚDockerµÄÈÝÆ÷´ò°üºÍ·Ö·¢ÓÐÍû³ÉΪPaaSƽ̨µÄ±ê×¼, Docker½«´ó·ùÍØ¿íPaaSµÄÓ¦Ó÷¶Î§£¬²¢´Ù½øPaaSµÄ¿ìËÙ·¢Õ¹¡£
»ùÓÚÈÝÆ÷µÄ´ò°üһͳÐÂÒ»´úPaaS£¬µÚÈý´úPaaS£¬DEIS¡¢FlynnµÈ¾ù»ùÓÚDocker£¬ÌôÕ½ÀϵÄPaaSƽ̨¡£

PaaSÒѾ³öÏÖÁËÊýÄêʱ¼ä£¬µÚÒ»ÅúÊÇAzureºÍHerokuµÈ¹«ÓÃÔÆ·þÎñ£¬Ö®ºó³öÏÖµÄCloud FoundryºÍOpensShiftÔÊÐíÓû§½¨Á¢×Ô¼ºµÄPaaS£¬°üÀ¨ÁËÄÚ²¿Êý¾ÝÖÐÐÄÒÔ¼°ÔÆ»·¾³¡£ÏÖÔÚ£¬µÚÈý´úPaaSÀ˳±ÕýÔÚµ½À´¡£
FlynnÊÇÒ»¸ö¿ªÔ´µÄPaaSƽ̨£¬¿É×Ô¶¯¹¹½¨²¿ÊðÈκÎÓ¦Óõ½DockerÈÝÆ÷¼¯ÈºÉÏÔËÐУ¬Æä¹¦ÄÜÌØÐÔÓë×é¼þÉè¼Æ´óÁ¿²Î¿¼ÁË´«Í³µÄPaaSƽ̨Heroku¡£

FlynnĿǰ»¹²»ÊǺÜÎȶ¨¡£µ«Õû¸öϵͳ·Ç³£Áé»î£¬Ï໥ËÉñîºÏ£¬±ãÓÚÈÎÒâ×é¼þµÄÌæ»»¡£
DockerÓëIaaSƽ̨
Ö÷Á÷IaaSÔÆÆ½Ì¨¶¼Ö§³ÖDockerµÄÔËÐÐ (AWS¡¢Google Compute
Engine¡¢RackspaceµÈ)¡£DockerÃÖºÏÁ˲»Í¬IaaSÖ®¼äµÄ²îÒ죬DockerµÄÇáÁ¿ºÍ¿ÉÒÆ¶¯ÐÔʹµÃÆä±È½ÏÊʺÏÓÃÔÚHybrid
CloudÖС£½µµÍÁËIaaS·þÎñÉÌÓû§Õ³ÐÔ£¬Ê¹µÃ¿çÔÆ·þÎñÉÌÇ¨ÒÆ¸ü¼Ó×ÔÓÉ¡£´Ó¶øÊ¹µÃIaaS·þÎñÉ̱»¹ÜµÀ»¯¡£Èç¹ûContainer°Ñ°²È«ÎÊÌâ½â¾öÁË£¬¿ÉÄܾͻáÓбȽϴóµÄ±ä»¯¡£

³öÏÖ»ùÓÚDockerµÄContainer as a Service»òOrchestration as
a Service£¬ÈçTutum£¬¿ÉÒÔ±ÜÃâIaaSµÄËø¶¨£¬ÉõÖÁ²»ÓùØÐÄÊÇÔËÐÐÔÚÎïÀíÉèÊ©ÉÏ£¬»¹ÊÇÔËÐÐÔÚÄļÒIaaSƽ̨ÉÏ¡£
2014Äê6ÔÂRackspaceÐû²¼ºÍCoreOSºÏ×÷ÌṩBaremetal as a Service·½°¸OnMetal£¬½áºÏÁËÔÆ¼ÆËãµÄÁé»îÐԺͻùÓÚcontainerµÄ¸ßÐÔÄÜÐéÄ⻯£¬Ìṩsingle
tenant baremetal cloud serivce¡£ÕâÖÖģʽ½«Ó°Ï쵱ǰÒÔÐéÄâ»úΪºËÐĵÄIaaSƽ̨£¬Ô¤¼ÆºóÐø¿ÉÄܳöÏÖͬʱÌṩDocker
over Baremetal¡¢ Docker over VMºÍVMÈýÖÖ»ìºÏµÄ×ÊÔ´·ÖÅäºÍµ÷¶ÈÔÆÆ½Ì¨¡£
DockerÒ²Òý·¢ÁË»ùÓÚÈÝÆ÷µÄÓ¦Óü¯Èº¹ÜÀíÆ½Ì¨£¬ÈçKubernetesµÃµ½ÁË΢Èí¡¢ºìñ¡¢IBM¡¢Vmware¡¢Docker¡¢Mesosphere¡¢CoreOSºÍSaltStackµÈ¶à¼Ò³§É̵ÄÖ§³Ö¡£ÈÝÆ÷¼¯Èº¹ÜÀí¼¼Êõ¿ÉÄܵ¼ÖÂOpenstack±ßÔµ»¯¡£
DockerºÍKubernetes
KubernetesÔ´ÓÚGoogleÄÚ²¿¼¯Èº¹ÜÀíÏîÄ¿Omega£¬ÎªÁ˰ïÖú¿ª·¢Õß¿ìËÙ²¿ÊðºÍ¹ÜÀí»ùÓÚDockerµÄ´ó¹æÄ£Ó¦Ó㬵«DockerÈÝÆ÷¼¯ÈºµÄ¹ÜÀí²»½ö½öÖ»ÓÐKubernetes¡£

KubernetesʵÏÖÈÝÆ÷¼¯Èº¹ÜÀí¡¢×ÊÔ´µ÷¶ÈºÍ¼à¿Ø¡¢ÈÝÆ÷ÉúÃüÖÜÆÚ¹ÜÀí¡¢Service¹ÜÀí¡¢¸ºÔؾùºâ¹ÜÀí£»¿ÉÒÔÔËÐÐÔÚ¹«ÓÐÔÆ¡¢Ë½ÓÐÔÆºÍÂã»úÉÏ¡£Ö§³Ö΢Èí¡¢ºìñ¡¢IBM¡¢Vmware¡¢Docker¡¢Mesosphere¡¢CoreOSºÍSaltStackµÈ¶à¼Ò³§ÉÌ¡£ÈÝÆ÷¼¯Èº¹ÜÀí¼¼Êõ¿ÉÄܵ¼ÖÂOpenstack
±ßÔµ»¯¡£
DockerÓëOpenstack
´ÓĿǰÀ´¿´£¬Docker¼¯³Éµ½OpenStackµÄ·½°¸Ö÷ÒªÓÐÏÂÃæÈýÖÖ·½°¸¡£Ö÷Á÷¹ÛµãÈÏΪ»ùÓÚNovaµ÷¶ÈºÍ¹ÜÀíDockerÈÝÆ÷²»ÄÜ·¢»ÓDockerµÄÓÅÊÆ£¬¶ø°ÑDockerÓëHeat¼¯³É¸üÄÜ·¢»ÓÆäÓÅÊÆ¡£

Docker Driver for Novaͨ¹ýnova-api£¬docker driver×÷Ϊhypervisor²¿Êð¡£ÔÀíºÜºÃÀí½â£¬nova-computer-apiµ÷ÓÃvirt
api ½«nova docker driver×÷Ϊhttp agentºÍdocker rest api»¥Í¨£¬´Ó¶ø¿ØÖÆdockerºÍÓëÈÝÆ÷µÄͨÐÅ¡£ÁíÍ⣬glance×÷Ϊdocker
register·þÎñµÄ±¾µØ½Úµã£¬Ìṩimage·þÎñ¡£ÕâÖÖ·½Ê½²»Ö§³ÖDockerµÄһЩ¸ß¼¶ÌØÐÔ¡£
Docker Plugin for Heatͨ¹ýHeat×é¼þÀ´ÊµÏÖ¡£ÀûÓÃheatÀ´¹ÜÀídockerµÄ×ÊÔ´Ä£°å£¬ÕâÑù¿ÉÒÔ±ÜÃânova½ö½öÔÚhypervisor²ãÃæ¶Ôdocker¹ÜÀíµÄÏÞÖÆ£¬±ÈÈçһЩdocker±¾Éí¹¹½¨µÄÄÜÁ¦£¬»òÊÇdockerÈÝÆ÷Ö®¼äµÄÍøÂç¹ÜÀíµÈ¡£ÕâÖÖ·½Ê½Äܹ»³ä·ÖÀûÓÃDockerµÄAPI£¬µ«È±·¦quota¡¢
host aggregate µ÷¶È»úÖÆ£¬²»ÄÜÓÃGlanceÀ´¹ÜÀí¾µÏñ¡£
DockerÓëDevOps
»ùÓÚDocker¿ÉÒÔ¸üºÃµÄʵÏÖDevOps¡£ËäÈ»ÓÐÐí¶à¹¤¾ßÊʺÏDevOps²¿Êð£¬Ê¹¿ª·¢ÈËÔ±ºÍ²Ù×÷¸üÌù½ü£¬µ«DockerÊÇÒ»¸öÓëDevOpsÔÔòÃÜÇÐÏà¹ØµÄ¿ò¼Ü¡£Ê¹ÓÃDocker£¬¿ª·¢ÈËÔ±¿ÉÒÔרעÓÚËûÃǵĴúÂ룬¶ø²»±Øµ£ÐÄÔÚÉú²ú»·¾³ÖÐÔËÐÐËüÃǵĸºÃæÓ°Ïì¡£

DevOpsÍŶӿÉÒÔ½«Õû¸öÈÝÆ÷×÷ΪÈÝÆ÷´¦Àí£¬ÎļþϵͳºÍÒÀÀµ¹ØÏµ¹ÜÀíµÄ·Ö²ã·½·¨Ê¹µÃ»·¾³µÄÅäÖøüÈÝÒ×ά»¤¡£ÔÚÏàͬµÄÔ´´úÂë¿ØÖÆÏµÍ³£¨ÈçGit¹¤×÷Á÷³Ì£©Öа汾»¯ºÍά»¤DockerfilesʹµÃËü·Ç³£ÓÐЧµØ¹ÜÀí¶à¸ö¿ª·¢/²âÊÔ»·¾³¡£²»Í¬»·¾³µÄ¶à¸öÈÝÆ÷¿ÉÒÔÔÚͬһVMÉÏÔËÐÐʱ±»¸ôÀë¡£
Docker»¹¿ÉÒԺܺõØÊ¹ÓÃÏÖÓеŤ¾ß£¬ÈçJenkins£¬Chef£¬Puppet£¬Ansible£¬Salt
Stack£¬NagiosºÍOpsworks¡£
DockerÓпÉÄܶÔDevOpsÉú̬ϵͳ²úÉúÖØ´óÓ°Ïì¡£Ëü¿ÉÒÔ´Ó¸ù±¾Éϸı俪·¢ÈËÔ±ºÍÔËӪרҵÈËÔ±ºÏ×÷µÄ·½Ê½¡£ÐÂÐËDevOps×÷Ϊ·þÎñ¹«Ë¾£¬ÈçCloudMunch£¬Factor.io£¬Drone.io¿ÉÄܱØÐë²ÉÓÃDocker²¢½«Æä´øÈëËûÃǵÄCIºÍCD½â¾ö·½°¸¡£
DockerÓë΢·þÎñ¼Ü¹¹
»ùÓÚDockerÈÝÆ÷ºÍÆäÉú̬ϵͳµÄ΢·þÎñ¼Ü¹¹ÊÇÏÂÒ»´úPaaSµÄºËÐÄ£¬ÔÚDocker³öÏÖ֮ǰ£¬ËäÈ»ÎÒÃÇ̸ÂÛ΢·þÎñ¼Ü¹¹£¬µ«ÊÇÆäʵÊǺÜÄÑʵÏֵġ£Î¢·þÎñÒªÔËÐУ¬Ê×ÏÈÐèÒªÒ»Ì×Ö´ÐеĻ·¾³¡£ÕâÌ×»·¾³²»ÄܶÔÍⲿÓÐÒÀÀµÐÔ¡£Í¬Ê±£¬Ö´Ðл·¾³µÄÁ£¶ÈÓÖ±ØÐë×ã¹»µÄС£¬ÕâÑù²ÅÄܳÆÖ®Îª¡±Î¢¡°£¬·ñÔò±ØÈ»ÊǶÔ×ÊÔ´µÄ¾Þ´óÀË·Ñ¡£Ò»¸ö΢·þÎñ¿ÉÒÔÅÜÔÚһ̨ÐéÄâ»úÉÏÃæ£¬µ«ÊÇÐéÄâ»úÁ£¶ÈÌ«´ó£¬¼´Ê¹×îСµÄÐéÄâ»ú£¬Ò²ÖÁÉÙÒ²ÓÐ1¸öºË¡£·þÎñÒ»¸öÓû§µÄ·þÎñ£¬ÏÔÈ»Óò»ÁËÒ»¸öºË¡£Í¬Ê±£¬ÐéÄâ»úÓÐûÓÐÒ»Ì×·½±ãµÄ¹ÜÀí»úÖÆ£¬Äܹ»¿ìËÙµÄÈÃÕâЩ·þÎñÖ®¼äÄܹ»×éºÏºÍÖØ¹¹¡£

Docker³öÏÖÒÔºó£¬ÎÒÃÇ¿´µ½ÁË΢·þÎñµÄÒ»¸ö·Ç³£ÍêÃÀµÄÔËÐл·¾³¡£Ò»¸öÈÝÆ÷¾ÍÊÇÒ»¸öÍêÕûµÄÖ´Ðл·¾³£¬²»ÒÀÀµÍⲿÈκεĶ«Î÷£¬¾ß±¸¶ÀÁ¢ÐÔ¡£Ò»Ì¨ÎïÀí»úÆ÷¿ÉÒÔͬʱÔËÐгɰÙÉÏǧ¸öÈÝÆ÷£¬Á£¶Èϸ¡£Æä¼ÆËãÁ£¶È×ã¹»µÄС¡£ÈÝÆ÷¿ÉÒÔÔÚÃë¼¶½øÐд´½¨ºÍÏú»Ù£¬·Ç³£ÊʺϷþÎñµÄ¿ìËÙ¹¹½¨ºÍÖØ×é¡£ÊýÁ¿ÖÚ¶àµÄÈÝÆ÷±àÅŹÜÀí¹¤¾ß£¬Äܹ»¿ìËÙµÄʵÏÖ
·þÎñµÄ×éºÏºÍµ÷¶È¡£
DockerµÄÉú̬ϵͳ
ÔçÔÚ2014ÄêLinux Foundation ±±ÃÀ·å»áÉϹ«²¼µÄ×î»îÔ¾¿ªÔ´ÔÆÏîÄ¿ÅÅÃû£¬Docker½ö´ÎÓÚOpenstackÅÅÔÚµÚ¶þλ¡£

Ä¿Ç°Î§ÈÆDockerÒÑÐγÉÅÓ´óµÄÉú̬ϵͳ£¬º¸Ç±àÅÅ/µ÷¶È¡¢ÈÝÆ÷/OS¡¢Ó¦Óò¿Êð¡¢ÍøÂç/SDN¡¢Hosting/SP¡¢Big
Data¡¢ÅäÖùÜÀí¹¤¾ß¡¢¿ª·¢¹¤¾ßµÈ¡£

»¥ÁªÍø³§ÉÌ/ÔÆ·þÎñÉ̼ÓÈëDockerÉú̬Ȧ£¬ÔÚÈÝÆ÷²¿Êð¡¢¹ÜÀí¡¢±àÅŵÈÁìÓò·¢Á¦£¬ÇÀÕ¼ÈÝÆ÷¼¯Èº¹ÜÀíµÄ±ê×¼¿ØÖÆÈ¨£¬»ý¼«²¿ÊðContainerºÍ²Ö´¢·þÎñ£¬´òÔì»ùÓÚ¸÷×ÔÔÆ·þÎñµÄÓ¦ÓÃÉú̬Ìåϵ¡£

Docker½«´ßÉúÔÆ¼ÆËã·þÎñ±ê×¼»¯£¬¿ÉÒÔÔÚϵͳµÄ¹¹½¨ÕߺÍʹÓÃÕßÖ®¼ä»®³öÒ»ÌõÇåÎúµÄ½çÏÞ£¬½«ITϵͳµÄ½»¸¶±ê×¼»¯¡£Æ©ÈçÓÎÏ·µÄ¿ª·¢ÉÌ¿ÉÒÔ½»¸¶±ê×¼»¯µÄ·þÎñ¸øÓÎÏ·µÄ·¢ÐÐÉÌ£¬·¢ÐÐÉÌÔÚ²»ÒÀÀµ¿ª·¢É̵ÄÇé¿öÏÂÄܹ»¶ÀÁ¢ÔËӪϵͳ£¬»òÕß½»ÓɵÚÈý·½ÔËӪϵͳ¡£
Docker HubΪ×é¼þ/ϵͳÌṩÉ̽¨Á¢ÁËÒ»¸ö²¿Êðµ½Docker ÉϵÄÉú̬¡¢App Market »·¾³¡£¸öÈËÓ¦ÓÃµÄÆÕ¼°ÒÀÀµ¹«Óвֿ⣬ÆóÒµ¼¶Ó¦ÓÃÆÕ¼°ÒÀÀµË½Óвֿ⡣Ϊ˽ÓÐÈÝÆ÷Ìṩ°²È«¡¢¸ßËÙ·ÃÎʺͶàÔÆÁªÍ¨¡£
DockerµÄÌôÕ½ÕßRocket
CoreOS ʹÓà Docker ÈÝÆ÷¹¹½¨Æä·þÎñ£¬²¢¶Ô Docker ÏîÄ¿×ö³ö¾Þ´ó¹±Ïס£µ«2014ÄêCoreOSÐû²¼ÕýÔÚ¿ª·¢×Ô¼ºµÄÈÝÆ÷ÒýÇæRocket
£¬ÒòΪÆä²»Í¬Docker µÄ·¢Õ¹·½Ïò¡£CoreOSÔÚ Docker ÔçÆÚʱºòÈÏΪ Docker ÔÚΪ¿ª·¢ÈËÔ±Ìṩһ¸ö±ê×¼µÄÈÝÆ÷¼Ü¹¹£¬¼ò»¯ÁË¿ª·¢ÈËÔ±µÄÈÕ³£¹¤×÷¡£ºóÀ´·¢ÏÖ
DockerÔÚ»ñµÃºÜ¶à×ʽðºóµÄʹÃüÒѾÀ©ÕÅÌ«¶à£¬ÏÖÔÚ²»ÊÇÔÚ̸ÂÛ Docker ÈÝÆ÷£¬¶øÊÇ Dockerƽ̨¡£

DockerµÄRoadmap±íÃ÷Ö¼ÔÚÏëÒª¹¹ÖþÒ»¸öÍêÕûµÄDockerƽ̨£¬°üÀ¨Machine (ϵͳÅäÖÃ),
Swarm (Docker »¯Ó¦ÓõÄÔÉú¼¯Èº), Compose (¶àÈÝÆ÷Ó¦ÓÃ×é×°)¡£DockerµÄ·¢Õ¹·½Ïò½«¶ÔDockerµÄÖܱßÉú̬²úÉú¸´ÔÓÓ°Ï죬ºóÐø¿ÉÄÜÃæÁÙ¸ü¶àÀ´×ÔÉú̬µÄÌôÕ½¡£ÇëËÑË÷¡°ICT_Architect¡±¹Ø×¢¡°¼Ü¹¹Ê¦¼¼ÊõÁªÃË¡±¹«Öںţ¬»ñÈ¡¸ü¶à¾«²ÊÄÚÈÝ¡£
|