Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
DockOne¼¼Êõ×ܽáÕûÀí£¨¶þ£©
 
×÷ÕߣºCMGS À´Ô´£ºDockOne.io ·¢²¼ÓÚ 2015-8-21
  2711  次浏览      27
 

DockOne¼¼Êõ·ÖÏí£¨Áù£©£ºÐÂÀËSCE Docker×î¼Ñʵ¼ù

±¾ÎÄÖ÷Òª´ÓIaaSÊӽǣ¬·ÖÏíSCEͨ¹ýÔõÑùµÄʵ¼ùÀ´Ö§³ÖÉϲã²úÆ·ÏßµÄÈÝÆ÷»¯ËßÇó¡£Ê×ÏÈÁÄÁÄÎÒÃÇΪʲô×öÖ§³ÖDocker¼¼ÊõÕâ¼þÊÂÇ飬Ȼºó½éÉÜÏÂDockerÖ§³Öʵ¼ùµÄ·½·½ÃæÃæ¡£×îºó¸ø³öʵ¼ù¹ý³ÌÖÐ×ܽá³öÀ´µÄһЩ¾­Ñé¼°²È¹ýµÄһЩ¿Ó£¬ÒÔ¼°ºóÐøÐèÒªÉî¸ûµÄµã¡£

Ïȼٶ¨½ñÍíµÄÌýÖÚÖÁÉÙÒѾ­Ð¡·¶Î§Ê¹ÓùýDocker¼¼Êõ£¬ÊìϤÏà¹Ø¸ÅÄî¼°Ô­Àí¡£

ǰ¼¸ÆÚDockOne¼¼Êõ·ÖÏíÒѾ­Õë¶ÔDockerµÄ¼¸¸ö¼¼ÊõÒªµã×öÁËÉîÈë·ÖÎö£¬ËùÒÔÎÒ½ñÍíÖ÷Òª´ÓIaaSÊӽǣ¬·ÖÏíSCEͨ¹ýÔõÑùµÄʵ¼ùÀ´Ö§³ÖÉϲã²úÆ·ÏßµÄÈÝÆ÷»¯ËßÇó¡£

ΪºÎÖ§³ÖDocker¼¼Êõ

ΪºÎ×öÕâ¼þÊÂ

ÏȽéÉÜÏÂÎÒÀËSCE¡£SCEÊÇÐÂÀËÑз¢ÖÐÐÄÖ÷ÍÆË½ÓÐÔÆ²úÆ·£¬ÒѾ­¸²¸Çµ½¹«Ë¾ÄÚ²¿ËùÓвúÆ·Ïß¡£»ùÓÚOpenStack¶¨ÖÆ£¬ÕûºÏÁ˹«Ë¾Í¨µÀ»ú¡¢CMDB£¬Îª¹«Ë¾ÄÚ²¿È«²úÆ·ÏßÌṩIaaS·þÎñ¡£¹«ÓÐÔÆ°æ±¾½üÆÚ¿ªÊ¼Äڲ⡣

Ê×ÏÈ£¬OpenStackÓëDockerÌìÉú»¥²¹¡£

OpenStackÃæÏòIaaS£¬ÒÔ×ÊԴΪÖÐÐÄ£¬´ò°üOS£»Äܹ»Ìṩ³ÉÊìµÄ×ÊÔ´ÏÞÖÆÓë¸ôÀëÄÜÁ¦£»¶àOSϵÁÐÖ§³Ö£»

DockerÔòÃæÏòPaaS£¬ÒÔ·þÎñΪÖÐÐÄ£¬´ò°üservice£»Çá¿ìºÃÊ¡£»

ĿǰIaaSÒµ½çÖ÷ÒªÒÔÌá¹©ÔÆÖ÷»ú·þÎñΪÖ÷£¬ÓÐ×ųÉÊìµÄ×ÊÔ´ÏÞÖÆ¡¢×ÊÔ´¸ôÀëÄÜÁ¦£¬µ«±¾ÖÊÉÏÊǶÔOSµÄ´ò°ü£¬ÎÞ·¨Âú×ãÔÚÓ¦¶Ô·åÖµ·ÃÎÊ¡¢¿ìËÙÉìËõ¡¢¿ìËÙ²¿ÊðµÈ·½ÃæËßÇó¡£¶ødockerÓëÉú¾ãÀ´µÄÌØÐÔ¡±Çá¡¢¿ì¡¢ºÃ¡¢Ê¡¡°£¬Ôòǡǡ¿ÉÒÔÃÖ²¹IaaSÔÚ´Ë·½ÃæµÄ²»×ã¡£µ±È»OpenStackÉçÇøÎªÁËÄܹ»¸üºÃµÄÖ§³ÖdockerÒ²³¢ÊÔ×öÁ˺ܶàŬÁ¦£¬Õâ¸öºóÃæ»á½²µ½¡£

Æä´Î£¬SCEÔËά¹ý³Ì·¢ÏÖ£¬²úÆ·Ïß¶ÔÈÝÆ÷¼¼ÊõÐèÇóÏ൱ÍúÊ¢¡£

¿ìËÙ²¿Êð£»

¿ìËÙÆðÍ£¡¢´´½¨ÓëÏú»Ù£»

Ò»ÖµĿª·¢²âÊÔ»·¾³£»

ÑÝʾ¡¢ÊÔÓû·¾³£»

½â¾öÉ豸³É±¾£¬³ä·ÖÀûÓÃ×ÊÔ´£»

¼¼Êõ·½°¸¿ìËÙÑéÖ¤£»

¸ü¶à......

IaaS¶Ì°å+ÐèÇóÇý¶¯£¬ÈÃÎÒÃÇÒâʶµ½£ºSCEºÜÓбØÒªÒ²ºÜÊʺÏ×öÖ§³ÖÈÝÆ÷¼¼ÊõÕâ¼þÊ¡£

IaaS³§ÉÌDockerÖ§³Ö¸Å¿ö

µ÷ÑзÖÎöÁ˼¸¸öIaaSȦ×ӱȽÏÓдú±íÐԵľÞÍ·¼°Ð¹󣬴ӵ÷Ñнá¹û¿ÉÒÔ¿´³ö£¬Ä¿Ç°IaaS³§É̶ÔDockerµÄÖ§³Ö»¹±È½Ï±¡Èõ¡£

Ö»Óа¢ÀïÔÆÎªDockerÓû§¶à×öÁËһЩÊÂÇ飬ÌṩÁ˰¢Àï¹Ù·½Registry¡£µ«Ã»ÓÐÌṩ½ÏеÄÖ§³ÖDockerµÄÔÆÖ÷»ú£¬Ö»ÓÐÒ»¸öµÚÈý·½ÌṩÁËÒ»¸öºÜÀϵľµÏñ£¬¼¸ºõûÓпÉÓÃÐÔ¡£

UnitedStackºÍÇàÔÆÖ»ÌṩÁËCoreOS¡£¶øÊµ¼ÊÉÏ£¬CoreOSµÄÓû§½ÓÊܶȺܵ͡£ÎÒÃÇSCEÒ²³¢ÊÔ¹ýÌṩCoreOS£¬µ«ÓÉÓں͹«Ë¾CentOSϵͳʹÓ÷½Ê½²îÒìÌ«´ó£¬»ù±¾Ã»ÓвúÆ·ÏßÔ¸ÒâʹÓò¢Ç¨ÒƵ½CoreOSÉÏÃæÀ´¡£

DockerÖ§³Öʵ¼ùµÄ·½·½ÃæÃæ

»ùÓÚÒÔÉÏÐèÇó¼°µ÷ÑУ¬SCEÖ÷ÒªÔÚRegistry¡¢Hub¡¢Ö§³ÖDockerµÄÐéÄâ»ú¾µÏñ¡¢ÈÕÖ¾´æ´¢Óë¼ìË÷¡¢ÍøÂç¼°´æ´¢Çý¶¯µÈ·½Ãæ×öÁËһЩʵ¼ù£¬ÖÂÁ¦ÓÚÈòúÆ·ÏßÓû§¸ü·½±ã¸ßЧµÄʹÓÃDocker¼¼Êõ£¬Íƶ¯DockerÔÚ¹«Ë¾ÄÚµÄʹÓá£

Registry+Hub·½°¸

Registryºó¶Ë´æ´¢·½°¸·½Ã棬Æäʵ´ó¼ÒÒÑ·ÖÏí½Ï¶à£¬´ó¶àÊÇÓÃdev¼°s3¡£SCEµ±È»Ê¹ÓÃ×Ô¼ÒÐÂÀËS3ÁË£¬µ±Ê±µÄµÚÒ»¸ö·½°¸¾ÍÊÇDocker Registry sinastorage driver + sina s3¡£¿É¿¿ÐÔÐÔ×ÔÈ»²»ÓöàÑÔ£¬µ«ÓÉÓÚÒÀÀµstorage driver£¬×·²éÎÊÌâ¹ý³ÌÖУ¬µ÷ÊÔ¼°Î¬»¤¶¼±È½ÏÂé·³£¬²¢ÇÒ¸üкó»¹ÐèÒª×Ô¶¯¹¹½¨Ð¾µÏñ¡£

¼ÈÈ»×Ô¼ÒÌṩ¿É¿¿ÔÆÓ²ÅÌ£¬ÎªÊ²Ã´²»Îª×Ô¼ºÌṩ·þÎñÄØ¡£¹û¶Ï½«ÈÌÁËÀϱÇ×Óʱ¼äµÄ·½°¸Ò»¸ÄΪÁËlocalstorage + SCEÔÆÓ²ÅÌ£¬²»ÔÙÒÀÀµdriverµÄÈÕ×ÓÊæ·þ¶àÁË£¬ÁíÍ⻹ÄÜÏíÊܵ½ÔÆÓ²Å̵Äsnapshot¡¢resizeµÈ¸ß¼¶ÌØÐÔ¡£

ËùÒÔ£¬¶ÔÓÚÕýÔÚRegistry storage backendÑ¡Ð͵ÄÅóÓÑ£¬¸ø³öһЩ½¨ÒéÒÔ¹©²Î¿¼£º

¶Ô¾µÏñ´æ´¢¿É¿¿ÐÔÎÞÒªÇóµÄʹÓó¡¾°£¬½¨ÒéÖ±½ÓʹÓÃdev£»

¶Ô¾µÏñ´æ´¢¿É¿¿ÐÔÒªÇó½Ï¸ßµÄʹÓó¡¾°£¬Èç¹ûÄãÊÇÔÚIaaSÉÏÅÜ£¬Ç¿ÁÒ½¨ÒéʹÓÃlocalstorage + ÔÆÓ²ÅÌ·½°¸£»

¶Ô¾µÏñ´æ´¢¿É¿¿ÐÔÒªÇó½Ï¸ßµÄʹÓó¡¾°£¬Èç¹ûÄãûÔÚIaaSÉÏÅÜ£¬¿ÉÒÔÄõã´óÑó³öÀ´ÓÃS3µÈ£»

¶Ô¾µÏñ´æ´¢¿É¿¿ÐÔÒªÇó½Ï¸ßµÄʹÓó¡¾°£¬Èç¹ûÄãûÔÚIaaSÉÏÅÜ£¬ÓÖ²»Ï뻨Ǯ£¬ÏëÓÃ×Ô¼Ò´æ´¢£¬¾ÍÖ»ÄÜд¸ö×Ô¼ÒµÄdriverÁË¡£ÎҲŲ»»á¸æËßÄ㣬ÕâÖÖÇé¿öÅŲéÎÊÌâÓжàôÔãÐÄ¡£

ΪÁ˸ø²úÆ·ÏßÌṩ±ã½ÝµÄ¾µÏñ²é¿´¼°¼ìË÷·þÎñ£¬SCEÓë΢²©Æ½Ì¨ºÏ×÷£¬¹²Í¬ÍƳöÁËSCE docker hub£¬»ùÓÚdocker-registry-frontend¿ª·¢ÊµÏÖ¡£ÓëSCEÏÖÓзþÎñ´òͨ£¬²¢Ö§³Örepo¡¢tag¡¢ÏêϸÐÅÏ¢¡¢DockerfileµÄ²é¿´¡¢¼ìË÷Óë¹ÜÀíµÈ¡£

ΪÁ˲úÆ·Ï߸ü·½±ãʹÓÃDocker¹Ù·½¾µÏñ£¬ÎÒÃǵÄ×Ô¶¯Í¬²½¹¤¾ß»áÒÀ¾Ý¾µÏñ×¢²á±í£¬ÖÜÆÚÐÔµÄ×Ô¶¯Í¬²½Docker¹Ù·½¾µÏñµ½SCE·Ö²¼Ê½ºó¶Ë´æ´¢¼¯Èº£¬Ê¹µÃ²úÆ·ÏßÓû§¿ÉÒÔͨ¹ýÄÚÍø¿ìËÙpullµ½Docker¹Ù·½¾µÏñ¡£

ÓÉÓÚSCE²»±£Ö¤Ò²²»¿ÉÄܱ£Ö¤Docker Hub¹Ù·½¾µÏñµÄ°²È«ÐÔ£¬ËùÒÔ½¨Òé²úÆ·Ïß×îºÃʹÓÃSCE¹Ù·½·¢²¼µÄimage»ò¹¹½¨×Ô¼ºµÄbaseimage¡£

¶ÔÓÚ²úÆ·Ïß˽ÓÐRegistryµÄÐèÇó£¬SCEÒ²ÌṩÁËÏàÓ¦µÄÒ»¼ü¹¹½¨¹¤¾ß¼¯¡£

CentOS 7 + Docker¾µÏñ

SCEÔÚDockerÖ§³Ö·½ÃæÖ÷Òª×öÁËÈçÏÂһЩ¹¤×÷£º

1£©¼¯³ÉDocker 1.5¡¢Docker-Compose 1.2»·¾³£»

2£©Ìṩdocker-ip¡¢docker-pid¡¢docker-enterµÈcli£¬¼ò»¯Óû§Ê¹Óã»

3£©ÓëDIPºÏ×÷£¬Ö§³Örsyslog-kafka£¬½â¾öÈÕÖ¾¼à¿Ø¼ìË÷ÎÊÌ⣻

4£©Óë΢²©Æ½Ì¨ºÏ×÷£¬Ìṩmuti-if-adapter¹¤¾ß£¬½â¾öͬһÖ÷ËÞ»úÏàͬ·þÎñ¶Ë¿Ú³åÍ»µÄÎÊÌ⣻

5£© ¸ü¶à......

SCEÉÏʹÓÃDocker

ÓÐÁËÈçÉϹ¤×÷Ö§³Å£¬ÔÚSCEÉÏʹÓÃdocker¾Í±äµÃÏ൱±ã½Ý¡£

ÈÕÖ¾·½°¸

ĿǰSCEÖ÷ÒªÖ§³Ö3ÖÐÈÕÖ¾·½°¸£º

app´òcontainer logfile£»

app´òstdout£¬stderr£»

app+agent´òÔ¶¶Ë£»

ǰÁ½ÖÖ·½°¸ÊÊÓÃÓÚ¶ÔÈÕÖ¾ÒªÇ󲻸ߵÄʹÓó¡¾°£¬È翪·¢²âÊÔ¡£

µÚÈýÖÖ·½°¸ÔòÊÊÓÃÓÚÕæÊµµÄÒµÎñ³¡¾°¡¢Éú²ú»·¾³£¬ÕâЩ³¡¾°¶ÔÈÕÖ¾³Ö¾Ã»¯¡¢¼ìË÷¡¢¼à¿Ø¡¢¸æ¾¯µÈ·½Ãæ¶¼ÓнÏÇ¿ÐèÇó£»

Docker 1.6µÄsyslog driverĿǰ¿ÉÓÃÐÔ¡¢Ò×ÓÃÐÔ¶¼»¹²»Ì«ÀíÏ룬µ«ÖµµÃ¹Ø×¢¡£

app+rsyslog-kafka·½°¸

ÉÏÃæÌáµ½µÄµÚÈýÖÖÈÕÖ¾·½°¸£¬ÎÒÃÇÊÇͨ¹ýELK·½°¸ÊµÏֵġ£

¼Ü¹¹Í¼

ÈÕÖ¾Á÷

app >>> container rsyslog-kafka >>> kafka >>> logstash >>> elasticsearch >>> kibana

ÒµÎñÁ÷

²úÆ·Ïß×ßDIPʵʱÈÕÖ¾·ÖÎö·þÎñ½ÓÈ룻

DIPÉóÅú£»

config_web»ùÓÚDocker Swarm api¶¯Ì¬À©Õ¹logstash¼¯Èº£»

2. ¸ø³öÓû§½ÓÈëËùÐèÊý¾Ý£¬ÈçKafka broker¡¢topic£»

²úÆ·ÏßÒÀ¾Ý½ÓÈëÊý¾Ý´´½¨container£»

docker run -d -e KAFKA_ADDR=... -e KAFKA_TOPIC=... -e LOG_FILE=... -v
$(pwd)/kafka_config.sh:${SOME_DIR}/kafka_config.sh  ...

×ñÊØSCE log½ÓÈë¹æ·¶£¬containerÖеÄrun.shÐèÒªµ÷ÓÃSCEÌṩ¸øµÄÈÕÖ¾ÅäÖù¤¾ßdocker/tools/rsyslog_config.sh£»

3. rsyslog_config.sh»á°´Ðè×Ô¶¯ÅäÖÃrsyslog£¬½ÓÈë¹ý³Ì¼°Ï¸½Ú¶Ô²úÆ·Ïß͸Ã÷£»

ÍøÂçģʽ

Ŀǰ²úÆ·Ïß´ó¶àʹÓõϹÊÇbridgeºÍhost£¬ËäÈ»ÕâÁ½ÖÖģʽ¶¼´æÔÚһЩÎÊÌâ¡£

Á½ÕßËä´æÔÚһЩÎÊÌ⣬µ«»¹ÊÇÄܹ»Âú×ãÖÐС¹æÄ£¼¯ÈºÍøÂçÐèÇóµÄ¡£

µ«¹æÄ£ÉÏÀ´ºó£¬ÉÏÃæÁ½ÖÖģʽ¾Í²»ÊÊÓÃÁË¡£¶ÔÓÚ´ó¹æÄ£ÍøÂç½â¾ö·½°¸£¬ÎÒÃǺóÐø½«»ý¼«¸ú½ø£¬Ö÷Òª¼Æ»®µ÷ÑÐovs/weave/FlannelµÈ·½°¸¡£

Libnetwork driver³ýÁËÆ½ÒƹýÀ´µÄbridge¡¢host¡¢null£¬»¹ÌṩÁËremote£¬ÒÔÖ§³Ö·Ö²¼Ê½bridge£»ºóÐø¼Æ»®Ìṩ¸ü¶àdriverÒÔ½â¾öĿǰµÄÍøÂçÎÊÌ⣬ֵµÃÖØµã¹Ø×¢¡£

ÁíÍ⣬¶ÔÓÚ²úÆ·ÏßÌá³öµÄһЩÓÐÒâÒåµÄÐèÇó£¬Èç΢²©Æ½Ì¨Ìá³öµÄ¡°Í¬Ò»Ö÷ËÞ»úÏàͬ·þÎñ¶Ë¿Ú³åÍ»µÄÎÊÌ⡱£¬SCE»áºÍ²úÆ·ÏßÒ»µÀ»ý¼«Ì½Ë÷ÏàÓ¦µÄ½â¾ö·½°¸£»

´æ´¢Çý¶¯Ñ¡ÐÍ

Õⲿ·ÖÖ÷ÒªÊÇ¿ªÊ¼Ê±£¬´æ´¢Çý¶¯·½°¸Ñ¡Ð͵ÄһЩ¿¼ÂÇ¡£

aufs¡£Docker×î³õ²ÉÓõÄÎļþϵͳ£¬Ò»Ö±Ã»ÄܺÏÈëÄںˣ¬Òò´Ë¼æÈÝÐԲ½öÓÐUbuntuÖ§³Ö¡£ÐèÒªÓû§×Ô¼º±àÒ룬ʹÓÃÆðÀ´±È½ÏÂé·³£»

btrfs¡£Êý¾Ý²¢Ã»ÓÐÖ±½Ó±»Ð´Èë¶øÊÇÏÈÊDZ»Ð´Èëµ½ÈÕÖ¾£¬ÔÚÓÐÁ¬ÐøµØÐ´ÈëÁ÷µÄÇé¿öÏ£¬ÐÔÄÜ¿ÉÄÜ»áÕ۰룻

overlayfs¡£Ò»ÖÖеÄunionfs£¬µ«¶ÔÄں˰汾ҪÇóÌ«¸ß£¬ÐèÒªkernel 3.18+£»

devicemapper¡£Ä¬ÈÏdriver¡£¿ÉÒÔ˵ÊÇĿǰһ°ãÇé¿öϵÄ×îÓÅ·½°¸ÁË¡£SCE¾ÍÊDzÉÓôËdriver¡£

devicemapperÏà¹ØµÄһЩʵ¼ù¼°¿Ó»áÔÚÉÔºóÌáµ½¡£

¼¯Èº¹ÜÀí

ĿǰSCEÖ÷ÒªÍÆ¼ö3¸ö¼¯Èº¹ÜÀí¹¤¾ß£ºShipyard¡¢Swarm¡¢Kubernetes¡£

Shipyard

Ö§³Ö¿çÖ÷»úµÄcontainer¼¯Èº¹ÜÀí

ÇáÁ¿¼¶£¬Ñ§Ï°³É±¾µÍ

Ö§³Ö¼òµ¥µÄ×ÊÔ´µ÷¶È

Ö§³ÖGUIͼ±íչʾ

Ö§³ÖʵÀýºáÏòÀ©Õ¹

Swarm

Docker¹Ù·½Ö÷ÍÆµÄ¼¯Èº¹ÜÀí·½°¸

Ïà¶ÔÇáÁ¿¼¶£¬Ñ§Ï°³É±¾½ÏµÍ

Ö§³Ö¶àdiscovery backend

·á¸»µÄ×ÊÔ´µ÷¶ÈFilter

Rest API£¬ÍêÈ«¼æÈÝDocker API

ÉÐÓÐһЩ¿Ó

Ŀǰ²úÆ·Ïß×îÒ×½ÓÊÜ£¬ÇÒʹÓÃÂÊ×î¶àµÄ·½°¸

Kubernetes

Google Borg/Omega¿ªÔ´ÊµÏÖ

¸üеü´úÌ«¿é£¬¼Ü¹¹¼°ÊµÏÖÏà¶Ô¸´ÔÓ£¬Ñ§Ï°³É±¾¡¢¸ÄÔì³É±¾½Ï¸ß

×ÊÔ´µ÷¶È

À©ÈÝËõÈÝ

¹ÊÕÏ×Ô¶¯»Ö¸´

¶àʵÀý¸ºÔؾùºâ

¶ÔOpenStackÖ§³Ö½ÏºÃ

¸ú½øÖÐ

ÈýÕ߸÷ÓÐÓÅÁÓ£¬¾ßÌåʹÓÃÄĸö¹¤¾ß»¹ÊÇÐèÒªÒÀ¾Ý¾ßÌåµÄÒµÎñÐèÒª¶ø¶¨£¬¶ø²¢²»ÊÇ˵KubernetesÇ¿´ó¾ÍÒ»¶¨ÊǺõġ£

¸ù¾ÝĿǰ²úÆ·ÏßʹÓü°·´À¡À´¿´£¬swarm»¹ÊǸüÈÝÒ×±»½ÓÊÕһЩ¡£

ÓëOpenStack¼¯³É½øÕ¹

½ÓÏÂÀ´£¬ÎÒÃÇÊÇIaaS£¬ËùÒÔ±ØÐëҪ˵һÏÂÓëOpenStack¼¯³É½øÕ¹¡£ÈçºÎÓëOpenStack¸üºÃµÄ¼¯³É£¬³ä·Ö·¢»ÓÁ½ÕßÓÅÊÆ£¬ÊÇÎÒÃÇÒ»Ö±¹Ø×¢µÄÒ»¸öµã¡£

ĿǰÖ÷ÒªÓÐÈýÖÖ·½°¸£º

nova + docker driver£»

heat + docker driver£»

magnum£»

Nova driver¼°heat driverÁ½ÖÖ·½°¸£¬¶¼´æÔÚһЩӲÉË¡£Èçnova driver·½°¸°Ñcontainerµ±×÷VM´¦Àí£¬»áÎþÉüµôDockerµÄËùÓи߼¶ÌØÐÔ£¬ÕâÏÔÈ»ÊDz»Äܱ»½ÓÊյģ»ÓÖÈçheat driver·½°¸£¬Ã»ÓÐ×ÊÔ´µ÷¶È£¬´´½¨Ê±±ØÐëÒªÖ¸¶¨host£¬ÕâÏÔȻֻÄÜÊÊÓÃÓÚС΢¹æÄ£¡£

OpenStackÉçÇø±¾Äê³õÖÕÓÚ¿ªÊ¼·¢Á¦CaaSÐÂÏîÄ¿magnum¡£Í¨¹ý¼¯³ÉHeat£¬À´Ö§³ÖʹÓÃDockerµÄ¸ß¼¶¹¦ÄÜ£»¿ÉÒÔ¼¯³ÉSwarm¡¢Gantt»òMesos£¬ÊµÏÖDocker¼¯Èº×ÊÔ´µ÷¶È£¨Ïּƻ®ÊÇʹÓÃswarm×öµ÷¶È£©£»Magnum»¹½«ÓëKubernetesÉî¶ÈÕûºÏ¡£

MagnumÒÑÕÒ×¼´ËǰÁ½ÖÖ½â¾ö·½°¸µÄÍ´µã£¬²¢ÕýÔÚÓÃÇ¡µ±µÄ·½Ê½½â¾ö´ËÎÊÌâ¡£·Ç³£ÖµµÃ¸ú½ø¡£

ÁíÍ⣬´Ë´Îθ绪OpenStack SummitÉÏ£¬OpenStack»ù½ð»á³ýÁË»¹±íʾ½«»ý¼«ÍƽøMagnum×ÓÏîÄ¿£¬ÔÚ¼¼ÊõÉÏʵÏÖÈÝÆ÷ÓëOpenStackµÄÉî¶ÈÕûºÏ¡£

ʵ¼ù¾­Ñé&²È¹ýµÄ¿Ó

ÏÂÃæ½éÉܵÄÄÚÈÝ£¬´ó¶àÊDzúÆ·ÏßÎʵ½µÄ£¬ÒÔ¼°SCEÔÚDockerʵ¼ù¹ý³ÌÖÐ×ܽá³öÀ´µÄ¾­Ñé½Ìѵ£¬¶¼ÒÑÎĵµ»¯µ½SCE¹Ù·½Docker wiki¡£´ÓSCE Docker wikiÀïժȡÁËһЩʵ¼ù¾­Ñé&²È¹ýµÄ¿Ó£¬Ïë±Ø´ó¼Ò»ò¶à»òÉÙÒѾ­Êµ¼ù¹ý»ò²È¹ý¡£Èç¹û»¹Ã»Óöµ½ÕâЩÎÊÌ⣬ϣÍûÎÒÃǵÄÕâЩ¾­Ñé×ܽáÄܶÔÄãÓÐËù°ïÖú¡£

¾µÏñÖÆ×÷·½Ãæ

½¨ÒéÓÃDockerfile build¾µÏñ£¬¾µÏñÎĵµ»¯£»

DockerfileÖУ¬valueǧÍò±ð¼Ó""¡£ÒòΪdocker»á°ÑÄãµÄ""×÷ΪvalueµÄÒ»²¿·Ö£»

×îС»¯¾µÏñ´óС£¬·Ö²ãÉè¼Æ£¬¾¡Á¿¸´Óã»

ÔËÐÐÈÝÆ÷·½Ãæ

Ò»ÈÝÆ÷Ò»½ø³Ì£¬±ãÓÚ·þÎñ¼à¿ØÓë×ÊÔ´¸ôÀ룻

²»½¨ÒéÓÃlatest

¶ÔÓÚÌṩ·þÎñµÄcontainer£¬½¨ÒéÑø³É¼Ó--restartµÄϰ¹ß

Êý¾Ý´æ·Å·½Ãæ

½¨Òé²ÉÓÃvolume¹ÒÔØ·½Ê½

²»ÒÀÀµhostĿ¼£¬±ãÓÚ¹²ÏíÓëÇ¨ÒÆ£»

×ÊÔ´ÏÞÖÆ·½Ãæ

cgroupÔÊÐí½ø³Ì³¬ÏÞʹÓ㬼´£ºÔÚÓпÕÓà×ÊÔ´µÄÇé¿öÏ£¬ÔÊÐíʹÓó¬³ö×ÊÔ´ÏÞÖÆµÄ¸ü¶à×ÊÔ´¡£

cgroup½öÔÚ±ØÒªÊ±£¨×ÊÔ´²»×ãʱ£©ÏÞÖÆ×ÊԴʹÓ㬱ÈÈ磺µ±Èô¸É½ø³Ìͬʱ´óÁ¿µØÊ¹ÓÃCPU¡£

cpu share enforcement½ö»áÔÚ¶à¸ö½ø³ÌÔËÐÐÔÚÏàͬºËÉϵÄÇé¿öÏ·¢Éú¡£Ò²¾ÍÊÇ˵£¬¼´Ê¹Äã»úÆ÷ÉϵÄÁ½¸öcontainer cpuÏÞÖÆ²»Í¬£¬Èç¹ûÄã°ÑÒ»¸öcontainer°ó¶¨ÔÚcore1£¬¶ø°ÑÁíÍâÒ»¸öcontainer°ó¶¨ÔÚcore2£¬ÄÇôÕâÁ½¸öcontainer¶¼ÄÜ´òÂú¸÷×Եĺˡ£

×ÊÔ´¸ôÀë·½Ãæ

user nsÊÇͨ¹ý½«containerµÄuid¡¢gidÓ³ÉäΪnodeÉϵÄuid¡¢gidÀ´ÊµÏÖuser¸ôÀëµÄ£»

Ò²¾ÍÊÇ˵£¬ÄãÔÚnodeÉÏÖ»ÄÜ¿´µ½containerµÄuid£¬¶ø¿´²»µ½uname£¬³ý·ÇÕâ¸öuidÔÚcontainerºÍnodeÉϵÄunameÏàͬ£»

Ò²¾ÍÊÇ˵£¬ÄãÔÚnodeÉÏ¿´µ½µÄcontainerÉϵĽø³ÌµÄËùÊôÓû§µÄuname²»Ò»¶¨ÊÇcontainerÉÏÔËÐÐÕâ¸ö½ø³ÌµÄuname£¬µ«uidÒ»¶¨ÊÇcontainerÉÏÔËÐÐÕâ¸ö½ø³ÌµÄuid£»

swarm & composeʹÓ÷½Ãæ

×¢Òâswarm strategiesÉв»³ÉÊ죬binpack strategyʵÏÖ´æÔÚһЩÎÊÌ⣬»áµ¼ÖÂ×îºóµ÷¶È³öÀ´µÄnode²»ÊÇÄãÔ¤ÆÚµÄ¡£

×¢ÒâcomposeÉв»³ÉÊ죬¿ÉÄÜ»áÓöµ½µ¥¸öÆôcontainerûÎÊÌ⣬·Åµ½composeÆô¾Íʧ°ÜµÄÎÊÌâ¡£È磺²¿ÊðÆô¶¯Ê±¼äÒÀÀµÐÔÇ¿µÄÈÝÆ÷ºÜ¿ÉÄܻᵼÖÂʧ°Ü£»

container·½Ãæ

×¢ÒâdmĬÈÏpool¼°container´æ´¢¿Õ¼ä´óСÎÊÌâ¡£containerĬÈÏ10G£¬poolĬÈÏ100G£¬Äã¿ÉÄÜÐèҪͨ¹ýdm.basesize¡¢dm.loopdatasize°´ÐèÀ©ÈÝ£»

×¢Òânsenter½øÈÝÆ÷£¬¿´²»µ½ÅäÖÃÔÚcontainerÀïµÄenv±äÁ¿£»²é¿´env½¨ÒéÓÃdocker exec»òdocker inspect£»

×¢Òâdocker daemon¡¢docker daemonµÄdefault-ulimitºÍdocker runµÄulimitÈýÕß¼äµÄ¼Ì³Ð¹ØÏµ£»

ÓÉÓÚÆª·ùËùÏÞ£¬ÕâÀï¾Í²»ÔÙ¹ý¶àÁо١£

ºóÐø¼Æ»®

ÏÂÃæ¸ø³öSCEºóÐøÐèÒª¼ÌÐøÉî¸ûµÄ¼¸¸öµã¡£

ÌṩCI & CD½â¾ö·½°¸

̽Ë÷´ó¹æÄ£¼¯ÈºÍøÂç·½°¸

³ÖÐø¸ú½ø´ó¹æÄ£¼¯Èº¹ÜÀí·½°¸

ÉîÈëµ÷ÑÐOpenStackÓëDockerÕûºÏ·½°¸

DockOne¼¼Êõ·ÖÏí£¨Æß£©£º »ùÓÚHypervisorµÄDockerÒýÇæ¡ª¡ªHyper

´Ó2013ÄêDocker·¢²¼£¬µ½2014ÄêµÄÈ«ÃæÒý±¬£¬Docker¸øÁËÎÒÃÇÒ»¸öÃ÷ÏԵĸоõ¡ª¡ªÈÝÆ÷ÕýÔÚ³ÉΪеġ°Òøµ¯¡±£¬¶øAmazon AWSÒý±¬µÄÐéÄâ»ú¼¼ÊõÒѳÉÁË×òÈջƻ¨¡£

ÉóÊÓÒ»ÏÂDocker£¬ÎÒÃÇ´ÓÖÐѧµ½ÁËʲô¡ª¡ªDockerµÄ¹Ø¼üµãÔÚÓÚËüÊÇÒÔAppΪÖÐÐĵÄÔËÐл·¾³µÄ·â×°£¬×Ô´ÓÓÐÁËDocker£¬¿ª·¢¡¢²âÊÔ¡¢Éú²ú¶¼¿ÉÒÔʹÓÃÍêÈ«ÏàͬµÄ»·¾³²¿Êð£¬Éú²ú»·¾³ÐèҪά»¤µÄºÜ¶à¶«Î÷¶¼ÔÚ¿ª·¢Ê±¾Í¹Ì»¯ÔÚ¾µÏñÄÚÁË£¬Î¬»¤ÄѶÈϽµ£¬Ò»ÖÂÐԺͿÉÈ·¶¨ÐÔÌáÉý£¬³ÖÐø½»¸¶²»ÊÇÃΡ£

ËùÒÔ£¬¶ÔÐéÄâ»úÔÚÈÝÆ÷ÃæÇ°µÄ¿ÁÔð£¬ÓÃÒ»¾ä»°Ëµ¾ÍÊÇ¡ª¡ª¡°ÐéÄâ»ú¡±µÄÎÊÌâ²»ÔÚÓÚ¡°ÐéÄ⡱£¬¶øÔÚÓÚ¡°»ú¡±¡£×ÔÈ»µØ£¬ÎÒÃÇ»áÏë¿É²»¿ÉÒÔ×öAppΪÖÐÐĵÄÐéÄâ»¯ÄØ£¿

Hyper¾ÍÊÇÕâÑùÒ»ÖÖApp-CentricµÄÐéÄ⻯¼¼Êõ£¬ÎÒÃÇÍêÈ«ÞðÆúÁË´«Í³Ðé»úÉϱØÐëºÍÎïÀí»úÒ»Ñù£¬ÔËÐÐÒ»¸öÍêÕûOSÕâÖÖ¿´ËÆÏÔÈ»µÄ¼ÙÉ裬ÎÒÃÇÈÃDocker ImageÖ±½ÓÔËÐÐÔÚHypervisorÉÏ¡£ÎÒÃÇÈÃÒ»×éÈÝÆ÷Ö±½ÓÆô¶¯ÔÚhypervisorÉϵÄʱ¼ä´ïµ½350ºÁÃ룬²¢ÇÒ»¹ÔÚ½øÒ»²½ÓÅ»¯¡£¶øÇÒËùÓÐÕâЩ£¬¶¼ÊÇ¡°¿ªÏä¼´µÃµÄ¡±¡£

µ±È»ÓÐÈË»áÎÊ£¬ÓÐÁËÈÝÆ÷Ϊʲô»¹ÒªÐé»ú¡£³ÏÈ»£¬Ðé»ú²¢²»ÊÇËùÓÐÈ˶¼ÐèÒªµÄ£¬µ«ÊÇ£¬Ðé»úÌìÈ»¾ß±¸¸üºÃµÄ¸ôÀëÐÔ£»ÐéÄâ»úÒ²ÈÔÈ»´æÔÚÓںܶàÆóÒµÓ¦ÓõÄЭÒéÕ»ÖУ¬ÕâÑùÒ»¸öÒÀÀµ¸üÉÙ¡¢¿ªÏä¼´µÃ£¬¶øÇÒ»¹´øÓÐPod¡¢persist modeµÈ¸½¼Ó·á¸»ÌØÐÔµÄÓ¦Óã¬ÊDz»ÉÙ³¡¾°Öж¼ÐèÒªµÄ¡£¶øÎÒÃÇ×îÆÚ´ýµÄ£¬¾ÍÊÇÈ¥Òý±¬ÐµÄÈÝÆ÷·þÎñ¡ª¡ªCaaS¡£

´Ó Docker µ½ÈÝÆ÷·þÎñ

Docker ÊÇÕâÁ½ÄêÀ´£¬ÔƼÆËãÁìÓò×îÈÈÃŵĴ´ÒµÏîÄ¿£¬´ø¶¯ÁËÕû¸ö Container²úÒµ¡£ËûÃÇ×îÀ÷º¦µÄÒ»µãÔÚÓÚ£¬¿ª·¢ÕßÖ±½ÓÊä³ö Docker Image »òÕß Dockerfile£¬²âÊÔ¡¢²¿Êð¾Í¿ÉÒÔ×öµ½¸ß¶ÈÒ»Ö£¬ÕâÀﻹÊÇÌù³ö¶Ô @¶ÅÓñ½Ü@»ªÎª¿ªÔ´ ¶Å×ÜµÄ½ØÆÁµÄ½ØÆÁ£º

Ëæ×ÅDockerµÄÆÕ¼°£¬Ô½À´Ô½¶àÓ¦ÓÿªÊ¼ÇãÏòÓÚ²ÉÓÃDockerµÄ·½Ê½²¿Ê𡪡ª²Ù×÷ϵͳ½«Ö»ÓÃÓÚ³ÐÔØDocker£¬Ìṩ¸¨ÖúÐÔ¹¦ÄÜ£¬Öð½¥Í¬ÖÊ»¯£¬CoreOS£¬Redhat Atomic£¬Ubuntu Core ¶¼ÔÚ×ßÏòÕâ¸ö·½Ïò¡£¶ø IaaS »òÕß PaaS ·þÎñÉÌÃÇ£¬±ØÈ»Ïò CaaS¡ª¡ªÈÝÆ÷¼´·þÎñתÐÍ£¬±ÜÃâÕæµÄÂÙΪ×ÔÀ´Ë®Ò»ÑùµÄ»ù´¡ÉèÊ©¡£

Hyper¡ª¡ªÓÃÐé»ú½â¾ö¸ôÀëÎÊÌâ

µ«ÊÇ£¬ContainerµÄ¸ôÀëÐÔÎÞ·¨µÃµ½³¹µ×½â¾ö£¨Í¼Æ¬Òý×Ô»ÆÇ¿µÄÑݽ²£©

ÓÚÊǾÍÓÐÁËÁ½¸ö²»Í¬µÄÑ¡Ôñ¡ª¡ªÒª×·ÇóÐÔÄÜ£¬ÄÇô¾Í½«ÎïÀíÕû»ú»ú³ö×â¸øÓû§£¬µ«ÊÇÕâÑù×öµ¯ÐÔÓÐÏÞ£¬»ØÊÕÖ®ºó¶ÔϵͳµÄÇåÀíºÜ¸´ÔÓ£¬¶øÇÒÓû§¿ÉÒÔ½Ó´¥µ½ÎïÀí»ú¡¢BIOS¡¢ÍøÂ磬»á²úÉúÒ»¶¨°²È«Òþ»¼£»»òÕß³ö×âÐéÄâ»ú¸øÓû§¡ª¡ªAWS ECS£¨EC2 Container Service£©µÄÑ¡Ôñ£¬ÕâÑù¾ÍËðʧÁËÐÔÄÜ£¬¶øÇÒÓû§Æäʵ¶Ôά»¤ÐéÄâ»úµÄ²Ù×÷ϵͳûÐËȤ¡£

ÕâÀïÎÒÃÇҪ˵µÄ¾ÍÊÇÒ»¸öÆäËûµÄÑ¡Ôñ¡ª¡ªÖ±½ÓÓÃÐéÄâ»ú³ÐÔØÈÝÆ÷£º Hyper = hypervisor docker image¡£

´«Í³ÐéÄâ»úµÄÎÊÌâÆäʵÔÚÓÚ¹ýÓÚ¿ÌÒâÄ£·ÂÎïÀí»ú£¬¿ÌÒâÒª³ÐÔØÍêÕû²Ù×÷ϵͳ£¬Æô¶¯Ò»Ì¨ÐéÄâ»úÒªÈô¸ÉÃ룬ÉõÖÁ¼¸·ÖÖÓ£¬Image ÓÐÈô¸ÉGB£¬¼ÓÔØ´«²¥¶¼ºÜÂý£¬µ«Æäʵ¸ù±¾Ã»ÓÐÕâ¸ö±ØÒª£¬HyperÏ£Íû¼æÈ¡Á½ÕßµÄÇ¿Ïî

Hyper ÔÚÆô¶¯·½Ã濪ÏúºÜµÍ£¬¼´Ê¹ºÜÈëÃŵĻúÆ÷£¬Ò²¿ÉÒÔÓкܺõÄÐÔÄÜ£¬±ÈÈçÔÚÒ»¸öСºÐ×ÓÉÏ£¬ÀïÃæÅܵÄÊdz¬µÍµçѹµÄ i3 CPU£¬Æô¶¯ËùÓõÄʱÑÓÖ»Óв»µ½500ms¡ª¡ª

¶øÇÒ Hyper µÄÃüÁîÐÐÓ÷¨ºÍ Docker ºÜÏàËÆ£¬¼òµ¥µ½Ò»¸ö run ÃüÁî¾Í¿ÉÒÔÆô¶¯Ò»¸ö docker image

Hyper µÄʵÏּܹ¹ÊÇÕâÑùµÄ

ÔÚÐé»úÉÏ£¬Òýµ¼Æð kernel Ö®ºó£¬Óà init ½ø³ÌÖ±½ÓÆô¶¯ Docker Image£¬Ã»ÓÐÍêÕûOS¡£ËùÓÐµÄ image µÄ´¦Àí£¬ÔÚÐéÄâ»úÍâÃæ×¼±¸ºÃ£¬²åÈëÐéÄâ»úÔËÐС£

´ËÍ⣬ÓÐʱ£¬ÄãÐèÒª link ¼¸¸öÃÜÇйØÁªµÄ docker£¬ÕâÑùµÄʱºò£¬hyper ÔÊÐíÄã°ÑËüÃÇ·ÅÔÚÒ»¸öÐé»úÀïÃæ£¬Í¨¹ýmount namespace¸ôÀëÎļþϵͳ£¬Õâ³ÆÎª pod£¬Õâ¸ö¸ÅÄîÀ´×ÔÓÚ kubernetes¡£

One more thing

Hyper »¹ÓÐһЩ¶îÍâµÄºÃ´¦£¬¶Ô»ùÓÚÐéÄâ»úµÄ˽ÓÐÔÆ¼Ü¹¹£¬ÀûÓà hyper£¬ ¿ÉÒÔÈÃÒѾ­ÓеÄÕë¶ÔÐé»úµÄÈí¼þÕ»£¬¸üƽ»¬µØÏòÈÝÆ÷»¯µÄ·½ÏòÇ¨ÒÆ¡£¶øÇÒ£¬Ðé»ú¿ÉÒÔ¸üºÃµØ¼æÈÝÒÑÓÐ openstack Èí¼þÕ»£¬Ö÷Á÷É豸³§É̵ÄÍøÂçºÍ´æ´¢É豸¶¼ÌṩÁËÕë¶Ô OpenStack Neutron ºÍ Cinder µÄÇý¶¯£¬¿ÉÒÔ¿ìËÙ¹¹½¨Ë½ÓÐÔÆ¡£

ÎÒÃÇÒ²Ìá³öÁË HyperStack £¬Ò²»¶Ó­ OpenStack ÉçÇøµÄ»ï°éÒ»ÆðÍÆ¶¯ÈÝÆ÷»¯µÄÓ¦Óá£

ÏÂÒ»²½¼´½«µ½À´µÄ¸Ä½ø

¶à Hypervisor Ö§³Ö¡ª¡ª Xen ±¾ÖÜ·¢²¼£¬Virtualbox ¿ª·¢ÖУ¬ ESXi ÔÚ Roadmap ÉÏ

¿çƽ̨¡ª¡ªMac µÄÖ§³ÖÔÚ¿ª·¢ÖÐ

   
2711 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þµÄ˼¿¼
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS
Ïà¹ØÅàѵ¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
Windows Azure ÔÆ¼ÆËãÓ¦ÓÃ

ĦÍÐÂÞÀ­ ÔÆÆ½Ì¨µÄ¹¹½¨ÓëÓ¦ÓÃ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ù
ijÑз¢ÖÐÐÄ Openstackʵ¼ù
ÖªÃûµç×Ó¹«Ë¾ ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦ÓÃ
ijµçÁ¦ÐÐÒµ »ùÓÚÔÆÆ½Ì¨¹¹½¨ÔÆ·þÎñ
ÔÆ¼ÆËãÓëWindows AzureÅàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ