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

1Ôª 10Ôª 50Ôª





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



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

DockOne¼¼Êõ·ÖÏí£¨¶þ£©£º¼¯Èº¹æÄ£ÏÂÈÕÖ¾´¦ÀíºÍÍøÂç·½°¸

±¾ÎÄÖ÷Òª½éÉÜÔÚÈÝÆ÷¼¯ÈºÖУ¬ÈçºÎ¹ÜÀíÈÝÆ÷ÈÕÖ¾£¬ÓÐÄÄЩ·½·¨¿ÉÒÔ¹ÜÀíÈÕÖ¾£¬ÕâЩ·½·¨·Ö±ðÓÐÄÄЩÓÅÊÆºÍÁÓÊÆ¡£½ô½Ó×ÅÌÖÂÛÁËÄ¿Ç°ÍøÂçµÄ¼¸ÖÖ·½°¸£¬Ã¿ÖÖ·½°¸¶¼»á´øÀ´Ê²Ã´ÑùµÄÊÕÒæºÍЧ¹û¡£×îºó½éÉÜÁËâ¹ûTVµÄ×î¼Ñʵ¼ù¡£

ÎÒÏȼٶ¨½ñÍíµÄÌýÖÚÖÁÉÙС·¶Î§µÄÆÌ¿ª Docker ÈÝÆ÷»¯¼¼ÊõÔÚÏßÉÏÁË£¬ÖÁÉÙÊìϤ Docker µÄ¹¤×÷Ô­ÀíºÍ remote API¡£ËùÒÔÎÒ²»»á¹ý¶àµÄ½éÉÜDocker µÄ»ù±¾²Ù×÷ºÍʹÓã¬Ö÷ÒªÊÇ·ÖÏí¼¯Èº»¯ÈÝÆ÷ÖеÄÈÕÖ¾¹ÜÀíºÍÍøÂç¹ÜÀí¡£

ÔÚÔçÆÚ Docker ʵÏÖÖУ¬ÈÕÖ¾Õâ¿éµÄ¹¦Äܶ¼²»ÍêÉÆ£¬ËùÓÐÈÝÆ÷Äڵıê×¼Êä³öºÍ´íÎó¶¼»áдÈëµ½/var/lib/docker/containers/{$cid}/{$cid}-log.jsonÖС£ÒòΪûÓÐÈÕÖ¾×Ô¶¯·Ö¾íÒÔ¼°ÈÝÆ÷°ó¶¨£¬ËùÒÔÒ»µ©µ½ÏßÉϾͻá³öÏÖ˲¼ä´ÅÅÌ´òÂúµÄÇé¿ö¡£¶øÕâ¸öÎļþͬʱÓÖÊÇ docker logs api µÄ data source£¬¼ÓÖ® docker 1.6 ÒýÈëµÄ log-driver ²ÎÊý£¬Òò´Ë¶ÔÓÚÏßÉÏÈÕÖ¾µÄÊÕ¼¯¹ÜÀíÎÒÃÇĿǰÓÐÕâô¼¸¸ö·½·¨¡£

¼à¿ØÎļþ£¬²¢Í¨¹ý¹ÜµÀת³öÊý¾Ý¡£ÕâÖÖ·½°¸×î´óµÄÎÊÌâÊÇÈÕÖ¾ÎļþºÍÈÝÆ÷Êǰ󶨵ģ¬Òò´ËÐèÒªÓÐÒ»¸ö agent µÄ½ÇÉ«À´×öÕâ¼þÊ£¬±äÏàµÄÔö¼ÓÁË¿ª·¢³É±¾£¬»¹Òª¿¼ÂǹܵÀµÄ¿É¿¿ÐÔÎÊÌâ¡£ÁíÍâ CentOS 6ϵºÍ7ϵÈÕÖ¾µØÖ·²»Ò»Ñù£¬Èç¹ûÓ²±àÂëÔòÀ©Õ¹ÐÔ²»¼Ñ£¬Èç¹û¶ÁȡϵͳÅäÖã¬ÄǾÍÒª¿¼ÂÇ¿çϵͳ֮¼äµÄ·¾¶ÎÊÌâ¡£

ͨ¹ýdocker logs apiÀ´Ô¶³ÌÖØ¶¨ÏòÈÕÖ¾¡£ÕâÖÖ·½·¨×î´óµÄÎÊÌâÊÇÄã±ÜÃâ²»ÁË»¹ÊǵÃÓÐ agent È¥ÇåÀíÈÕÖ¾Õâô¸ö²Ù×÷£¬·ñÔòµÄ»°´ÅÅÌÒÀÈ»»á±»´òÂú£¬µ±È»Ò²¿ÉÒÔÅäºÏ logrotate À´×öÕâÊ£¬²»¹ýÔö¼ÓÁËÔËά³É±¾¡£Èç¹ûÊÇÔ¶¶Ëµ÷ÓÃÕâ¸ö API µÄ»°£¬ÐèÒª¿¼ÂÇÁ¬½ÓµÄ¿É¿¿ÐÔ£¬Ò»µ©³öÏÖÖØÁ¬£¬ÄǾÍÒª×öÈÕÖ¾»ØËÝ£¬·ñÔò»á¶ªÊ§Ò»²¿·ÖÈÕÖ¾¡£

ÈÝÆ÷ÄÚ½ø³Ì×Ô¼ºÐ´³öÈÕÖ¾¡£ÕâÓÖÓÐÁ½ÖÖ·½°¸£¬ÈçÏ£º

½ø³ÌÖ±½Óд³ö£¬¿ØÖÆÈ¨½»¸øÁËÒµÎñ·½£¬¶ÔÒµÎñ²»Í¸Ã÷£¬¿É¿ØÐÔ½µµÍ£¬±Ï¾¹ÊǼ¯Èº»·¾³¡£ÕâÑùÒ»À´Ò²Òª±©Â¶¼¯Èº½á¹¹¸øÉϲ㡣

Ó³ÉäÈÕÖ¾É豸£¨/dev/log£©½øÈÝÆ÷£¬ÈÝÆ÷ÄÚ½ø³ÌÖ±½ÓдÉ豸£¬¸ôÀëÐÔ¼õÈõ£¬µ¥µãÎÊÌâ×·×Ù»áºÜÂé·³£¬ÒòΪÕâʱºò stdout ºÍ stderr ÊÇûÓÐÄÚÈݵģ¬Ò²¾ÍÊÇdocker logÃüÁîÎÞÈκÎÊä³ö¡£

¡º½ø³ÌÖ±½Óд³ö¡»ÕâÖÖ·½°¸ÎÒÃÇÊÔ¹ý£¬²»¹ýÒªÈÃÒµÎñ·½À´¸Ä´úÂ룬ËùÒÔÕûÌåÍÆ½øºÜÄÑÁË¡£ÁíÍâËü»¹±©Â¶ÁËÔ¶¶ËÈÕÖ¾·þÎñÆ÷µØÖ·£¬ÎÞÂÛÊÇÍøÂçÉÏ»¹Êǰ²È«É϶¼ÊÇÓÐÎÊÌâµÄ¡£¾Ù¸öÀý×Ó£¬Ò»µ©½éÈë SDN µÈ¹ÜÀíÍøÂçµÄ·½Ê½£¬ÄÇôµÈÓÚ¾ÍÊÇÆÆ»µÁËÕûÌåµÄ¸ôÀëÐÔ¡£¡ºÓ³ÉäÈÕÖ¾É豸½øÈÝÆ÷¡»ÕâÖÖ·½°¸¾ÍÊǶ¨Î»ÎÊÌâÈÝÆ÷±È½ÏÂé·³£¬¶øÇÒ»¹ÊÇ񻃾¼°µ½¸úÒµÎñ·½¹µÍ¨¡£

ʹÓÃаæµÄ log-driver ²ÎÊý£¬ÆäÖаüº¬Ö§³Ö syslog£¬¿´ËƺÜÃÀºÃ£¬µ«ÊÇÔÚ¼¯Èº»·¾³ÏÂÒª¿¼ÂÇ syslog µ¥µãÎÊÌâ¡£Ò»°ãÀ´Ëµ»áÓжà¸ö syslog »òÕßÖ§³Ö syslog ЭÒéµÄÔ¶¶Ë server £¨logstash£©¡£Èç¹ûʹÓÃÔ¶³Ì syslog ½ÓÊÜÈÕÖ¾£¬´óÁ¿ÈÝÆ÷ÈÕÖ¾Êä³ö²¢²»Æ½¾ù£¬´Ó¶ø»á²úÉúÐÔÄÜÈȵãºÍÁ÷Á¿Èȵ㡣Èç¹û×ßµ¥»ú syslog ÔÙ»ã×Ü£¬ÄǾͺÍÉÏÃæµÄ·½°¸¡º½ø³ÌÖ±½ÓÊä³ö¡»Ã»¶à´óÇø±ðÁË£¬Í¬ÑùÊǸú×ÙÎÊÌâ±È½ÏÂé·³¡£ÎÒ¾õµÃĿǰÕâ¸öʵÏÖ¸ü¶àµÄÊÇ·½±ãÁË֮ǰʹÓà syslog ·½°¸µÄ¡£

ͨ¹ýattach ·½·¨½Ø»ñÈÝÆ÷Êä³öÁ÷ÖØ¶¨Ïò¡£ÕâÖÖ·½°¸ÐèÒª agent Ö§³Ö£¬ÓÐÒ»¶¨¿ª·¢ÒªÇó¡£Ä¿Ç°ÎÒÃDzÉÓõľÍÊÇÕâÖÖ·½°¸£¬Í¨¹ýÒ»¸öÄ£¿éʵÏÖÁË consistent hash£¬È»ºó°ÑÈÕÖ¾Á÷Á¿´òµ½Ô¶¶ËÊÕ¼¯·þÎñÆ÷ÉÏ¡£Õâ¸ö·½°¸Ö»ÐèÒªÈÃÒµÎñ°ÑÈÕÖ¾Êä³öµ½ stdout/stderr Öм´¿É£¬²¢²»»áÔö¼Ó¿ª·¢³É±¾¡£Í¬Ê±Docker 1.6ÖпÉÒÔÖ¸¶¨ÈÕÖ¾Çý¶¯Îª none£¬±ÜÃâÁË logs ÎļþµÄ²úÉú¡£ÁíÍâÒ»·½Ãæ¿ÉÒÔ°ÑÈÝÆ÷×Ô¼ºµÄ meta info ¸½¼Óµ½ÈÕÖ¾Á÷ÀïÃæ£¬´Ó¶øÊµÏÖÔ¶¶ËµÄÈÕÖ¾¼ìË÷·ÖÀà¾ÛºÏµÈ²Ù×÷¡£µ«Õâ¸ö·½°¸×î´óµÄÎÊÌâÊÇ¿ª·¢Á¦Á¿µÄͶÈ룬²»Í¬µÄ dockeclient ʵÏÖÖÊÁ¿Ò²²»Ò»Ñù£¬µ±È»ºÃ´¦Ò²ÊǺÜÃ÷ÏԵģ¬Áé»î¿É¿Ø£¬ÈÕÖ¾Á÷ÏòºÍ·ÖÅä¶¼ÔÚ×Ô¼ºÊÜÉË¡£

ËùÒÔÈÕÖ¾·½Ã棬´ÓĿǰ Docker ʵÏÖÀ´¿´£¬Èç¹û¿ª·¢Á¦Á¿¸úµÃÉÏ£¬agent + attach ·½°¸ÊÇÁé»îÐԺͿɿØÐÔÊÇ×î¸ßµÄ¡£Ä¿Ç° log-driver ¶ÔÓÚÉϹæÄ£µÄ¼¯ÈºÀ´Ëµ»¹ÊDz»Ì«ºÃÓã¬ÀíÏë״̬ÏÂÎÒÏ£ÍûÊÇ¿ÉÒÔÖ¸¶¨¶à¸ö log-drivers£¬Í¨¹ý hash ·½°¸´òµ½Ô¶¶Ë¡£µ±È»¾ßÌå·½°¸µÄѡȡ¾ÍµÃ¿´¸÷×Ô¹«Ë¾±¾ÉíµÄ»ù´¡ÉèÊ©ºÍÉè¼ÆÄ¿±êÁË¡£

˵ÍêÈÕÖ¾À´ËµÏÂÍøÂ磬Ŀǰ Docker µÄÍøÂç·½°¸Ö÷ÒªÓÐÕâô¼¸¸ö£¬µ±È»ÏÖÔÚ´ó¼Ò¶¼ÔÚµÈ 1.7£¬²»¹ýÎÒÈÏΪ¶ÔÓÚÉú²úϵͳ¶øÑÔ£¬ÒÑÓÐ SDN ·½°¸µÄ²»»áÌ«¹ýÓÚÔÚºõ Libnetwork£¬¿ÉÄÜ»áÑо¿ÏÂÆäºÍ Docker ÊÇÔõÑùͨ¹ý plugin ·½Ê½½áºÏµÄ¡£ÒòΪÆäËûËü°¸Ä¿Ç°¶¼ÊÇ Hook ·½Ê½È¥×öµÄ¡£

1¡¢Ä¬ÈÏ NAT/BR/HOST£¬NAT ÓÐÐÔÄÜËðʧ£¬BR ÓÐÍøÂçÉÁ¶Ï£¬HOST Á÷¿Ø²»ºÃ×ö£¬¶Ë¿Ú³åÍ»¿¿ÒµÎñ±£Ö¤Ã»·¨×öµ½Í¸Ã÷¡£

2¡¢ÍøÂç²ã·½°¸

a. ËíµÀ·½°¸

I. OVS£¬Ö÷ÒªÊÇÓÐÐÔÄÜ·½ÃæµÄËðʧ£¬»ùÓÚ VxLAN ºÍ GRE ЭÒ飬ÀàËÆµÄ·½°¸»¹ÓÐ Kubernetes/Socketplane µÄʵÏÖ¡£

II. Weave£¬UDP ¹ã²¥£¬±¾»ú½¨Á¢Ð嵀 BR£¬Í¨¹ý PCAP »¥Í¨¡£

III. Flannel£¬UDP ¹ã²¥£¬VxLan¡£

ËíµÀ·½°¸·Ç³£Áé»î£¬µ«ÊÇÒòΪ̫¹ýÓÚÁé»î£¬³öÁËÍøÂçÎÊÌ⣨A-B Á´Â·¶¶¶¯£©¸ú×ÙÆðÀ´±È½ÏÂé·³£¬´ó¹æÄ£¼¯ÈºÇé¿öÏÂÕâÊÇÐèÒª¿¼ÂǵÄÒ»¸öµã£¬±Ï¾¹¼´±ãÊÇÄÚÍøÒ²²»Ò»¶¨·çƽÀ˾²¡£

b. ·ÓÉ·½°¸

I. Pipework£¬¶ÔÓÚ Docker BR ±¾ÉíµÄÀ©Õ¹£¬µ±È»Ò²Ö§³Ö OVS macvlan µÈ·½°¸µÄ½áºÏ¡£ÏÖÔÚ libnetwork ³öÀ´±äÏàµÄÊÇ·ÏÁËÕâ¸öÏîÄ¿ÁË£¬³¤Ô¶À´¿´ºó¼ÌÎÞÈË£¬Òò´ËËü²»ÊÇÒ»¸öºÜºÃµÄÑ¡Ôñ¡£

II. Calico£¬»ùÓÚ BGP ЭÒéµÄ·ÓÉ·½°¸£¬Ö§³ÖºÜϸÖ嵀 ACL ¿ØÖÆ£¬¶ÔÓÚ¸ôÀëÒªÇó±È½ÏÑϸñµÄ³¡¾°±È½ÏÊʺϣ¬¶Ô»ìºÏÔÆÇ׺ͶȱȽϸߣ¬ÒòΪËü²»Éæ¼°µ½¶þ²ãµÄÖ§³Ö¡£

III. Macvlan£¬´ÓÂß¼­ºÍ Kernel ²ãÀ´¿´¸ôÀëÐÔºÍÐÔÄÜ×îÓŵķ½°¸£¬»ùÓÚ¶þ²ã¸ôÀ룬ËùÒÔÐèÒª¶þ²ã·ÓÉÆ÷Ö§³Ö£¬´ó¶àÊýÔÆ·þÎñÉ̲»Ö§³Ö£¬ËùÒÔ»ìºÏÔÆÉϱȽÏÄÑÒÔʵÏÖ¡£

·ÓÉ·½°¸Ã»ÄÇôÁé»î£¬´ó¶àÊýÇé¿öÏÂÐèÒªÓÐÒ»¸ö agent ÔÚÈÝÆ÷Ö÷»úÉÏÈ¥²Ù×÷£¬Ò»°ãÊÇ´Ó 3 ²ã»òÕß 2 ²ãʵÏÖ¸ôÀëºÍ¿çÖ÷»úÈÝÆ÷»¥Í¨µÄ£¬³öÁËÎÊÌâÒ²ºÜÈÝÒ×ÅŲ顣µ«ÊÇ·ÓÉ·½°¸¶Ô±¾ÉíÎïÀíÍøÂçÒÀÀµ»á±ÈËíµÀ·½°¸ÒªÖØ¡£ÁíÍâ hook µÄ»°±Ï¾¹»¹ÊDz»Ì«ÓÅÃÀ£¬ËùÒԵÿ´¿´ libnetwork ÊÇÔõÑùºÍ Docker ½áºÏµÄ¡£

ĿǰÎÒÃÇѡȡµÄÊÇ macvlan µÄ·½°¸ÊµÏֵĶþ²ã¸ôÀ룬˵ÇáµãÖ÷ÒªÊǶÔÈÝÆ÷¶øÑÔ£¬¿ÉÒÔÍêÈ«µ±ÈÝÆ÷Ϊһ̨ÐéÄâ»ú¡£ËµÖص㣬ÊÇÒòΪÆä¶ÔÎïÀíÍøÂç»ù´¡ÉèÊ©ÒÀÀµ³Ì¶È×î¸ß¡£

DockOne¼¼Êõ·ÖÏí£¨Èý£©£ºDocker RegistryµÄ¶¨ÖƺÍÐÔÄÜ·ÖÎö

±¾ÎĽéÉÜÁËDocker Registry·þÎñ¼¸¸ö×é¼þµÄ¹¹³É£¬ÒÔ¼°Ôõô¹æ»®¶¨ÖÆÒ»¸ö˽ÓоµÏñ¿â£¬ÒÔ¼°¾µÏñ·þÎñpull/push²Ù×÷ÐÔÄÜ·ÖÎö¡¢²¢·¢ÐÔÄÜ·ÖÎö£¬°ïÖú´ó¼Ò°´ÕÕÐèÇó´î½¨×Ô¼ºÐèÒªµÄ¾µÏñ·þÎñ¡£

Docker Index

Web UI

Meta-data ÔªÊý¾Ý´æ´¢£¨¸½×¢¡¢ÐǼ¶¡¢¹«¹²¿âÇåµ¥£©

·ÃÎÊÈÏÖ¤

token¹ÜÀí

Docker Registry

´æ´¢¾µÏñ¡¢ÒÔ¼°¾µÏñ²ãµÄ¼Ò×åÆ×ϵ

ûÓÐÓû§ÕË»§Êý¾Ý

²»ÖªµÀÓû§µÄÕË»§ºÍ°²È«ÐÔ

°Ñ°²È«ºÍÈÏ֤ίÍиødocker-hubÀ´×ö£¬ÓÃtokenÀ´±£Ö¤´«µÝ°²È«

²»ÐèÒªÖØÐ·¢Ã÷ÂÖ×Ó£¬Ö§³Ö¶àÖÖ´æ´¢ºó¶Ë

ûÓб¾µØÊý¾Ý¿â

ºó¶Ë´æ´¢

ÒòΪ¾µÏñ×îÖÕÊÇÒÔtar.gzµÄ·½Ê½¾²Ì¬´æ´¢ÔÚ·þÎñ¶Ë
ÊÊÓÃÓÚ¶ÔÏó´æ´¢¶ø²»ÊÇ¿é´æ´¢
registry´æ´¢Çý¶¯
¹Ù·½Ö§³ÖµÄÇý¶¯ÓÐÎļþ¡¢ÑÇÂíÑ·AWS S3¡¢ceph-s3¡¢Google gcs¡¢OpenStack swift£¬glance

Ò»´ÎDocker Pull·¢ÉúµÄ½»»¥

1. ClientÏòIndexÇëÇó£¬ÖªµÀ´ÓÄÄÀïÏÂÔØsamlba/busybox

2. Index»Ø¸´£º

3. samalba/busyboxÔÚRegistryA

4. samalba/busyboxµÄchecksum£¬ËùÓвãµÄtoken

5. ClientÏòRegistry AÇëÇó£¬samalba/busyboxµÄËùÓв㡣Registry A¸ºÔð´æ´¢samalba/busybox£¬ÒÔ¼°ËüËùÒÀÀµµÄ²ã

6. Regsitry AÏòIndex·¢ÆðÇëÇó£¬ÑéÖ¤Óû§/tokenµÄºÏ·¨ÐÔ

7. Index·µ»ØÕâ´ÎÇëÇóÊÇ·ñºÏ·¨

8. Client´ÓregistryÏÂÔØËùÓеIJã

9. Registry´Óºó¶Ë´æ´¢Öлñȡʵ¼ÊµÄÎļþÊý¾Ý£¬·µ¸øClient

´î½¨Ë½ÓоµÏñ¿âµÄ·½°¸

ÉÏÃæµÄindex¡¢nginx¡¢ºó¶Ë´æ´¢3Õß¶¼ÊÇ¿ÉÑ¡µÄ¡£registry·Ö0.9µÄpython°æÊµÏÖºÍ2.0°æµÄgoʵÏÖ¡£

ÈÏÖ¤ºÍȨÏÞ

Èç¹û¾µÏñ¿â²»Ö±½ÓÌṩ¸øÓû§Ê¹Ó㬽ö½öÊÇ˽ÓÐPaaSµÄÒ»²¿·Ö£¬¿ÉÒÔ²»ÓÃindex×é¼þ£¬Ö±½ÓÉÏRegistry¾ÍÐС£IndexµÄ¿ªÔ´ÊµÏÖ°üÀ¨docker-registry-web£¬docker-registry-frontend¡£Ö§³Ö½ÏºÃµÄÊÇÂíµÀ³¤µÄwharf¡£

ºó¶Ë´æ´¢

ÎÒÃÇ»·¾³Ê¹ÓõÄÊÇÍøÒ×µÄÄÚ²¿µÄ¶ÔÏó´æ´¢NOS£¬ÀàËÆÓÚS3¡£ÆäËûµÄ·½°¸Ã»Óùý£¬Èç¹ûÒª×Ô¼º´î£¬¿ÉÄÜ¿¿Æ×µÄÊÇceph-s3¡£Èç¹ûÔÚ¹«Íø»·¾³»òÕßÒѾ­¹ºÂòÁ˹«ÓÐÔÆ·þÎñ£¬¿ÉÒÔ¿¼ÂÇ×Ô¼ºÊµÏÖÒ»¸öregistry-¶ÔÏó´æ´¢µÄÇý¶¯¡£

¼¯ÈººÍ·Ö²¼Ê½

Registry±¾ÉíÊÇÎÞ״̬µÄ£¬¿ÉÒÔˮƽÀ©Õ¹£¬È»ºóÔÚÇ°Ãæ×öngixµÄ¸ºÔؾùºâ¡£

ÐÔÄܲâÊÔ

v1ЭÒé vs v2ЭÒé

×öÁËÐÔÄܶԱȲâÊÔ£¬Í¬ÑùΪdocker1.6£¬v2ЭÒé±Èv1ЭÒé¿ì5-6%×óÓÒ£¬»ù±¾¿ÉÒÔºöÂÔ²»¼Æ¡£

µ¥´ÎPullºÍPushµÄÐÔÄÜ·ÖÎö

¾­¹ý¶Ô±È²âÊÔ£¬µ¥´Îdocker pullºÍpushµÄ×î´óºÄʱÔÚ¿Í»§¶Ë£¬Ò²¿ÉÒԹ۲쵽ÿ´Î×ödocker pullºÍpushµÄʱºòϵͳCPUÕ¼ÓÃÂʶ¼ÔÚ100%¡£Ò²¾ÍÊÇ˵50%ÒÔÉϵÄʱ¼ä»¨ÔÚ±¾µØ×öµÄѹËõ¡¢¼ÆËãmd5µÈ²Ù×÷¡£

²¢·¢·ÖÎö

²¢·¢²âÊԵĽá¹ûÊÇÔÚÒ»¸ö2ºË2GÄÚ´æµÄregistry-0.9·þÎñÆ÷£¬Ö±½ÓÓÃÎļþ´æ´¢£¬´óÔ¼ÄܸºÔØ50¸ödocker clientµÄ²¢·¢¡£Èç¹û»»ÓöÔÏó´æ´¢µÄºó¶Ë£¬¹À¼Æ10¸ödocker clientµÄ²¢·¢¾ÍÊǼ«ÏÞÁË¡£

registry-2.0µÄ²¢·¢ÐÔÄÜºÜÆæÌØ£¬Ò»·½Ã棬ͬÑùµÄ¾µÏñÏÂÔØµÄ±Èregistry-1.0ÒªÂý£¬ÁíÒ»·½Ã棬ֻÓÐÒ»¸ö½ø³Ì£¬Õ¼ÁË20%×óÓÒµÄCPUºÍÄڴ棬¶Ôϵͳ×ÊÔ´ÏûºÄºÜÉÙ£¬²»Ïñpython°æµÄÕ¼ÓÃÁËËùÓеÄCPUºËºÍÄÚ´æ¡£

DockOne¼¼Êõ·ÖÏí£¨ËÄ£©£ºAppCºÍDockerµÄ¶Ô±È

ÏÖÔÚһ˵µ½¡°ÈÝÆ÷¡±£¬¼¸ºõËùÓÐÈËÊ×ÏÈÏëµ½µÄ¾ÍÊÇDocker¡£Docker×÷ΪĿǰ×îÖ÷Á÷µÄÈÝÆ÷±ê×¼£¬ÑÚ¸ÇÁËÐí¶àǰ±²ºÍºóÐøÕߵĹâ»Ô¡£ÊÂʵÉÏ£¬Docker¼È²»ÊǵÚÒ»¸öÈÝÆ÷Àà²úÆ·£¨OpenVZ¡¢LxcµÈ¶¼Ô¶Ô¶ÔçÓÚËü£©£¬Ò²²»»áÊÇ×îºóÒ»¸ö¡£½ñÌìÎÒÃÇÀ´ÁÄÒ»¸ö×î½üÓеã»ðµÄÐÂÈÝÆ÷±ê×¼£ºAppC¡£

AppCÊÇ CoreOS ¹«Ë¾ÔÚ2014Äê12Ô·¢ÆðµÄÉçÇøÏîÄ¿£¬Ö¼ÔÚÉè¼ÆÒ»ÖÖÐÂʽµÄ¿çƽ̨ÈÝÆ÷ÔÚ¾µÏñ¸ñʽ¡¢ÔËÐз½Ê½ºÍ·þÎñ·¢ÏÖ»úÖÆµÈ·½ÃæµÄ±ê×¼¡£

´Ó¹Ù·½µÄ±í̬˵£¬Õâ¸öÏîÄ¿×î³õµ®ÉúµÄÔ­ÒòÊÇ£¬Ö÷Á÷ÈÝÆ÷¹¤¾ß Docker ÕýÔÚ´ÓÒ»¸öµ¥´¿µÄÈÝÆ÷¹¤¾ß³ÉΪ×Ô³ÉÒ»ÌåµÄÉú̬Ȧ¡£¶ø Docker µÄÖÐÐÄʽ¹ÜÀí·½Ê½£¨ÓÉÿ¸öÖ÷»úÉ쵀 Docker -d ºǫ́½ø³Ìͳһ¿ØÖÆ£©¶ÔÓÚ Systemd ÒÔ¼°µÚÈý·½µÄÈÎÎñ±àÅŹ¤¾ß²¢²»ÓѺ㨾ßÌåÔ­ÒòÉÔºó·ÖÎö£©¡£

Òò´Ë CoreOS Ï£ÍûÉè¼ÆÒ»ÖÖÈ¥ÖÐÐÄ»¯µÄ¡¢¹¦Äܸü´¿´â¡¢Í¬Ê±¸ü¹Ø×¢ÐÔÄܺͰ²È«µÄÓ¦ÓÃÈÝÆ÷£¬½«ÖîÈçÈÕÖ¾¹ÜÀí¡¢ÈÝÆ÷µ÷¶È¡¢¼¯Èº±àÅŵȹ¤×÷¶¼½»¸øÍⲿ¹¤¾ßÈ¥Íê³É¡£

Docker µÄ·¢ÆðÕßÊÇ DotCloud ¹«Ë¾£¬Õâ¸ö¹«Ë¾Ô­±¾µÄÒµÎñ¾ÍÊÇ×ö PaaS ƽ̨£¬ÕâÒ²¾ö¶¨ÁË Docker µÄ·¢Õ¹·½Ïò¾ÍÊdzÉΪһ¸ö¡°´ó¶øÈ«¡±µÄƽ̨ÐÔÖʵIJúÆ·¡£ÕâÖÖ×ö·¨±¾ÉíÒ²·ûºÏÕ¼Êг¡¾ø´ó¶àÊýµÄ¡°´óÖÚÓû§¡±Ï£Íû¡°Ò»Õ¾Ê½½â¾ö·½°¸¡±µÄËßÇó¡£

¿ÉÒÔÕâÑù˵£¬Á½Õß±¾Öʵijö·¢µãºÍÏë½â¾öµÄÎÊÌâ²¢²»Ïàͬ¡£Òò´Ë£¬Ï£Íû´ó¼Ò±ü×Å¿ª·ÅºÍ°üÈݵÄÐÄ̬À´¿´´ý Docker ºÍ AppC µÄ±È½Ï¡£¶ø²»ÊDZ§×ÅÑ¡Ôñ¡°ÄÄÒ»¸öÊÇ×îºÃµÄÈÝÆ÷±ê×¼¡±µÄÄ¿µÄ£¬ÒòΪÕâ¸öÎÊÌâ¿ÉÄܺ͡°Äĸö±à³ÌÓïÑÔÊÇ×îºÃµÄÓïÑÔ¡±Ò»Ñù£¬Ö»Äܽ»¸øÊ±¼äÈ¥¶¨ÂÛ¡£

ÏÖÔÚ·ûºÏ AppC ±ê×¼µÄÈÝÆ÷ÒѾ­Óм¸¿îÁË£¨¶¼Ê®·ÖµÄСÖÚ£©£¬²»¿ÉÄܰ¤¸ö¶Ô±È¡£ÏÂÃæ¾ÍÖ»ÒÔ CoreOS ¹Ù·½ÍƳöµÄ Rkt ÈÝÆ÷×÷ΪÓë Docker µÄ±È½Ï¶ÔÏó¡£ÒÔÏÂÄÚÈݶ¼Êô¸öÈ˲âÊԵĽá¹û£¬²»´ú±í Docker »ò CoreOS ÈκÎÒ»·½µÄ¹Ù·½¹Ûµã¡£

ÓÉdzÈëÉîµÄ˵¡£Ê×ÏÈÊÇ×îÈÝÒ׸оõµ½µÄһЩ²îÒì¡£

²Ù×÷ÃüÁîµÄ·½Ê½

¿ÉÒÔ¿´µ½£¬DockerµÄËùÓÐÃüÁî¶¼°üº¬ÔÚÁË Docker ÕâÒ»¸öÃüÁîÐй¤¾ßÖС£

¶ø Rkt ÖÐÓë¾µÏñÏà¹ØµÄÃüÁîÊÇÓÉ AppC ͳһµÄÃüÁîÐй¤¾ß actool ÌṩµÄ£¬¶øÈÝÆ÷±¾ÉíµÄ²Ù×÷Óɸ÷¸öÈÝÆ÷×Ô¼ºÌṩ£¬ÀýÈç rkt¡£

Docker µÄÈÝÆ÷Í£Ö¹ÒԺ󻹻ᱻºǫ́µÄ Docker -d ½ø³Ì¼Ç¼£¬»¹Äܹ»ÔÙ´Î restart£¬¶ø Rkt µÄÈÝÆ÷ÀïÔËÐеÄÓ¦ÓÃÔò¸üÏñÊÇÒ»¸öÆÕͨµÄÓ¦Ó㬽áÊøÁ˾ÍÕæµÄ½áÊøÁË¡£

ÁíÍâÒ²ÄÜ¿´³ö£¬Rkt ÌṩµÄ¹¦ÄÜÖ»ÊÇ Docker µÄ×Ó¼¯£¬ºóÕßÔÚÈÕÖ¾¡¢¾µÏñ¡¢¹ÜÀí·½ÃæÌṩµÄÖ§³ÖÍêÕûºÜ¶à¡£

È»ºó£¬À´¿´Ò»Ï Docker ºÍ Rkt µÄÒ»¸öÊ®·ÖÖØÒªµÄ²îÒì¡£

ÈÝÆ÷½ø³ÌÔËÐз½Ê½

Rkt µÄÿ¸öÈÝÆ÷½ø³ÌÓÉ rkt ÃüÁîÖ±½Ó fork ³öÀ´¡£¶ø Docker µÄÈÝÆ÷½ø³ÌÊÇÓÉÓû§Ö´ÐÐµÄ Docker ÃüÁîÐй¤¾ß·¢ËÍÏûÏ¢¸øºǫ́µÄ Docker -d ½ø³Ì£¬ÓÉ Docker -d ½ø³Ì¼ä½Ó fork µÄ¡£ÕâÕ¦¿´ÆðÀ´Ã»Ê²Ã´Çø±ð£¬µ«ÊÇ Docker µÄÕâÖÖ·½Ê½¾Í¸øµÚÈý·½µÄÈÎÎñ±àÅŹ¤¾ß´øÀ´ÁËһЩÀ§ÈÅ¡£

ÓÐЩ½ø³Ì¹ÜÀí¹¤¾ß£¬±ÈÈç systemd ÊÇͨ¹ý cgroup À´¿ØÖƺ͸ú×Ù½ø³ÌµÄÉúÃüÖÜÆÚµÄ£¬¶ø SysV ÔòÊÇͨ¹ý½ø³ÌºÅºÍ¼Ì³Ð¹ØÏµÀ´¸ú×Ù½ø³ÌÉúÃüÖÜÆÚ¡£±ÈÈç˵µ±ÐèÒª½áÊøÒ»¸ö½ø³ÌµÄʱºò£¬½ø³Ì¹ÜÀí¹¤¾ß¾Í»áÕÒµ½ÏàÓ¦½ø³ÌµÄËùÓÐ×Ó½ø³ÌÒ»Æð½áÊø¡£

µ« Docker µÄÕâÖÖ½ø³ÌÔËÐÐÄ£ÐÍ£¬Ê¹µÃ²»ÂÛÊÇͨ¹ý½ø³ÌÊ÷»¹ÊÇ cgroup Ê÷¶¼ÎÞ·¨¿´³ö´´½¨ÈÝÆ÷µÄ Docker ÃüÁîÐÐÓëÈÝÆ÷±¾ÉíÓÐÈκιØÏµ¡£Òò´ËÐí¶àÈÎÎñ¹ÜÀí¹¤¾ßÈç¹û²»¶Ô Docker ½ø³Ì½øÐÐÌØ±ð¶Ô´ý£¬¾ÍÎÞ·¨Õý³£µÄ¹ÜÀíͨ¹ý Docker Æô¶¯µÄÈÝÆ÷ÀïµÄ½ø³Ì¡£

¿´¾µÏñµÄ½á¹¹

Docker µ¼³öµÄ¾µÏñÊÇÒ»¸ö tar Îļþ£¬ÀïÃæµÄÄÚÈÝÊÇ·Ö²ãµÄ¡£

½âѹÒÔºóµÄÿһ¸öĿ¼Æäʵ¾ÍÊǾµÏñµÄÒ»²ã¡£

Rkt µÄ¾µÏñÊÇÒ»¸ö gzip Îļþ£¬ÀïÃæÃ»Óзֲ㣬ֱ½Ó¾ÍÊÇËùÓÐÈÝÆ÷ÖеÄÎļþµÄ´ò°ü¡£

¸öÈ˾õµÃ·Ö²ãÒÔºóËäÈ»¸´ÔÓÁËÒ»µã£¬µ«Äܹ»¸´Óÿռ䣬ÆäʵÊDZȽÏÓÐÓõġ£

×îºóÀ´¿´Ò»Ï AppC ±È½ÏÇ¿µ÷µÄ°²È«ÐÔºÍÐÔÄÜ·½Ãæ¡£

°²È«ÐÔ

Docker ÏÂÔØÒ»¸ö¾µÏñ£¬Ö±½Ó Docker pull ÁËÊ£¬´«Êä¹ý³Ì¿É¼ÓÃܿɲ»¼ÓÃÜ£¬Docker Ò²²»»áÎÊÄãÊÇ·ñÁ˽âÕâ¸ö¾µÏñµÄÀ´Ô´¡£

¶ø Rkt ĬÈÏÒªÇóËùÓд«Êä¹ý³Ì¼ÓÃÜ£¬²¢ÇÒÏÂÔØ¾µÏñǰÓû§±ØÐëÊ×ÏÈÌí¼Ó¶Ô¾µÏñÀ´Ô´Ç©ÃûµÄÐÅÈΣ¬³ý·ÇÓû§Ã÷È·Ö¸¶¨È¡ÏûÑéÖ¤£¬·ñÔò¾µÏñ¼´Ê¹ÏÂÔØÁË Rkt Ò²»á¾Ü¾øÔËÐÐËü¡£

ÈÝÆ÷ÐÔÄÜ

ÐÔÄÜ·½Ã棬¿ÉÒÔ´ÓÒ»¸ö²àÃæÀ´ËµÃ÷£º¹¹½¨Ò»¸ö×îСµÄ¿ÉÔËÐоµÏñÐèÒªÄÄЩ¶«Î÷¡£

ÏÂÃæµÄ hello Õâ¸öÎļþÊÇÒ»¸ö¾²Ì¬±àÒ루ÎÞÈκηÇϵͳ¿âÒÀÀµ£©µÄ³ÌÐò£¬ÔËÐеÄʱºò»á´òÓ¡Ò»¸ö¡°Hello World¡±¡£

°ÑËü·Åµ½Ò»¸ö¿Õ°×µÄ Docker ¾µÏñÀïÃæ¡£

ÔËÐÐÈÝÆ÷»á·¢ÏÖ Docker ÌáʾÕÒ²»µ½ Bash¡£

½«Í¬ÑùµÄ³ÌÐò·Åµ½Ò»¸ö¿Õ°×µÄ AppC ¾µÏñÀïÃæ¡£

ÔËÐÐÈÝÆ÷¾ÍÄܹ»Õý³£¹¤×÷¡£

ÕâÒ»µã¿´³ö Docker ÔÚÔËÐÐÈÝÆ÷ÀïµÄÈκγÌÐòµÄʱºò£¬Êµ¼ÊÉ϶¼»áÏÈÔÚÈÝÆ÷ÀïÃæÆô¶¯Ò»¸ö Shell£¬ÔÙÓÉÕâ¸ö Shell È¥ÈÝÆ÷Ö´ÐÐÖ¸¶¨µÄÃüÁî¡£¶ø Rkt ÔòÊÇ´¿´¿µÄÖ±½ÓÔËÐÐÁËÖ¸¶¨µÄ³ÌÐò£¬Ïà±ÈÖ®ÏÂÔÚÐÔÄܺ;µÏñÄÚÈݵġ°ÐÅÔë±È¡±ÉÏÂÔÕ¼ÓÅ¡£

DockOne¼¼Êõ·ÖÏí£¨Î壩£ºDockerÍøÂçÏê½â¼°Libnetworkǰհ

ÍøÂç»ù´¡

DockerÏÖÓеÄÍøÂçÄ£ÐÍÖ÷ÒªÊÇͨ¹ýʹÓÃNetwork namespace¡¢Linux Bridge¡¢Iptables¡¢veth pairµÈ¼¼ÊõʵÏֵġ£

Network namespace£ºNetwork namespaceÖ÷ÒªÌṩÁ˹ØÓÚÍøÂç×ÊÔ´µÄ¸ôÀ룬°üÀ¨ÍøÂçÉ豸¡¢IPv4ºÍIPv6ЭÒéÕ»¡¢IP·ÓÉ±í¡¢·À»ðǽ¡¢/proc/netĿ¼¡¢/sys/class/netĿ¼¡¢¶Ë¿Ú£¨socket£©µÈ¡£

Linux Bridge£º¹¦ÄÜÏ൱ÓÚÎïÀí½»»»»ú£¬ÎªÁ¬ÔÚÆäÉϵÄÉ豸£¨ÈÝÆ÷£©×ª·¢Êý¾ÝÖ¡¡£Èçdocker0ÍøÇÅ¡£

Iptables£ºÖ÷ҪΪÈÝÆ÷ÌṩNATÒÔ¼°ÈÝÆ÷ÍøÂ簲ȫ¡£

veth pair£ºÁ½¸öÐéÄâÍø¿¨×é³ÉµÄÊý¾ÝͨµÀ¡£ÔÚDockerÖУ¬ÓÃÓÚÁ¬½ÓDockerÈÝÆ÷ºÍLinux Bridge¡£Ò»¶ËÔÚÈÝÆ÷ÖÐ×÷Ϊeth0Íø¿¨£¬ÁíÒ»¶ËÔÚLinux BridgeÖÐ×÷ÎªÍøÇŵÄÒ»¸ö¶Ë¿Ú¡£

ÈÝÆ÷µÄÍøÂçģʽ

hostģʽ£º ÈÝÆ÷ºÍËÞÖ÷»ú¹²ÏíNetwork namespace¡£

containerģʽ£º ÈÝÆ÷ºÍÁíÍâÒ»¸öÈÝÆ÷¹²ÏíNetwork namespace¡£ kubernetesÖеÄpod¾ÍÊǶà¸öÈÝÆ÷¹²ÏíÒ»¸öNetwork namespace¡£

noneģʽ£º ÈÝÆ÷ÓжÀÁ¢µÄNetwork namespace£¬µ«²¢Ã»ÓÐ¶ÔÆä½øÐÐÈκÎÍøÂçÉèÖã¬Èç·ÖÅäveth pair ºÍÍøÇÅÁ¬½Ó£¬ÅäÖÃIPµÈ¡£

bridgeģʽ£º BridgeģʽÊÇDockerµÄĬÈÏģʽ£¬ÏÂÃæÕâÕÅͼ¼´ÎªBridgeģʽÏÂDockerÈÝÆ÷µÄÍøÂçÁ¬½Óͼ¡£

ÈÝÆ÷eth0Íø¿¨´Ódocker0ÍøÇÅËùÔÚµÄIPÍø¶ÎÖÐѡȡһ¸öδʹÓõÄIP£¬ÈÝÆ÷µÄIPÔÚÈÝÆ÷ÖØÆôµÄʱºò»á¸Ä±ä¡£docker0µÄIPΪËùÓÐÈÝÆ÷µÄĬÈÏÍø¹Ø¡£ÈÝÆ÷ÓëÍâ½çͨÐÅΪNAT¡£

Link ²Ù×÷

link ²Ù×÷¿ÉÒÔÔÚÁ½¸öÈÝÆ÷¼ä½¨Á¢Ò»ÌõÊý¾ÝͨµÀ£¬Ê¹µÃ½ÓÊÕÈÝÆ÷¿ÉÒÔ¿´µ½Ô´ÈÝÆ÷µÄÖ¸¶¨ÐÅÏ¢¡£Í¨¹ýÉèÖýÓÊÕÈÝÆ÷µÄ»·¾³±äÁ¿ºÍ/etc/hostsÎļþÀ´µÃµ½Ô´ÈÝÆ÷µÄ»·¾³ÅäÖÃÐÅÏ¢ÒÔ¼°¾ßÌåµÄIPµØÖ·£¬Ò»¸ö·Ç³£¼òµ¥µÄ·þÎñ·¢ÏÖ»úÖÆ¡£ÓÉÓÚlink¹¦ÄÜÓÐÏÞ£¬¸öÈ˾õµÃÓô¦²»ÊÇÌ«´ó¡£

Docker×ÔÉíµÄÍøÂ繦ÄܱȽϼòµ¥£¬²»ÄÜÂú×ãºÜ¶à¸´ÔÓµÄÓ¦Óó¡¾°¡£Òò´Ë£¬Óкܶ࿪ԴÏîÄ¿ÓÃÀ´¸ÄÉÆDockerµÄÍøÂ繦ÄÜ£¬Èçpipework¡¢weave¡¢flannel¡¢socketplaneµÈ¡£

ÍøÂçÅäÖù¤¾ßpipework

pipeorkÊÇÒ»¸ö¼òµ¥Ò×ÓõÄDockerÈÝÆ÷ÍøÂçÅäÖù¤¾ß¡£ÓÉ200¶àÐÐshell½Å±¾ÊµÏÖ¡£Í¨¹ýʹÓÃip¡¢brctl¡¢ovs-vsctlµÈÃüÁîÀ´ÎªDockerÈÝÆ÷ÅäÖÃ×Ô¶¨ÒåµÄÍøÇÅ¡¢Íø¿¨¡¢Â·Óɵȡ£ÓÐÈçϹ¦ÄÜ£º

Ö§³ÖʹÓÃ×Ô¶¨ÒåµÄ Libux Bridge¡¢veth pairΪÈÝÆ÷ÌṩͨÐÅ¡£

Ö§³ÖʹÓÃmacvlanÉ豸½«ÈÝÆ÷Á¬½Óµ½±¾µØÍøÂç¡£

Ö§³ÖDHCP»ñÈ¡ÈÝÆ÷µÄIP¡£

Ö§³ÖOpen vSwitch¡£

Ö§³ÖVLAN»®·Ö¡£

ÎÒ֮ǰд¹ýһƪ½éÉÜpipeworkµÄÎÄÕ£¬ÀïÃæÍ¨¹ý3¸öÀý×Ó½éÉÜÁËpipworkµÄʹÓà £¨½«DockerÈÝÆ÷ÅäÖõ½±¾µØÍøÂç»·¾³ÖС¢µ¥Ö÷»úDockerÈÝÆ÷VLAN»®·Ö¡¢¶àÖ÷»úDockerÈÝÆ÷µÄVLAN»®·Ö£©£¬ ÓÐÐËȤµÄÅóÓÑ¿ÉÒÔÈ¥¿´Ï£¬ÔÚÕâÀï http://www.sel.zju.edu.cn/?p=444 £¨ÊµÑéÊÒ²©¿Í£¬ÀïÃæÓкܶàDockerÏà¹ØµÄÎÄÕ£© »ò http://www.infoq.com/cn/articl ... ctice

DockerÈÝÆ÷¿çÖ÷»úͨÐÅ

ÔÚĿǰDockerĬÈϵÄÍøÂç»·¾³Ï£¬µ¥Ì¨Ö÷»úÉϵÄDockerÈÝÆ÷¿ÉÒÔͨ¹ýdocker0ÍøÇÅÖ±½ÓͨÐÅ£¬¶ø²»Í¬Ö÷»úÉϵÄDockerÈÝÆ÷Ö®¼äÖ»ÄÜͨ¹ýÔÚÖ÷»úÉÏ×ö¶Ë¿ÚÓ³Éä½øÐÐͨÐÅ¡£ÕâÖÖ¶Ë¿ÚÓ³É䷽ʽ¶ÔºÜ¶à¼¯ÈºÓ¦ÓÃÀ´Ëµ¼«²»·½±ã¡£Èç¹ûÄÜÈÃDockerÈÝÆ÷Ö®¼äÖ±½ÓʹÓÃ×Ô¼ºµÄIPµØÖ·½øÐÐͨÐÅ£¬»á½â¾öºÜ¶àÎÊÌ⡣ĿǰʹDockerÈÝÆ÷¿çÖ÷»úͨÐÅÖ÷ÒªÓÐһϼ¸ÖÖ·½·¨£º

ÇŽӷ½·¨£º ͨ¹ý½«²»Í¬DockerÖ÷»úÉϵÄdocker0ÍøÇÅÇŽÓÔÚͬһ¸ö¶þ²ãÍøÂçÖУ¨Ê¹ÓÃÖ÷»úµÄÍø¿¨ÇŽӣ©£¬Ê¹µÃDockerÈÝÆ÷¿ÉÒÔ¿çÖ÷»úͨÐÅ¡£ ÈçÏÂͼ£º

Ö±½Ó·ÓÉ£º ͨ¹ýÔÚDockerÖ÷»úÉÏÌí¼Ó¾²Ì¬Â·ÓÉʵÏÖ¿çËÞÖ÷»úͨÐÅ¡£ÈçÏÂͼ£º

ËíµÀ·½·¨£ºÊ¹ÓÃGRE¡¢ VxLanËíµÀʵÏÖ¿çÖ÷»úͨÐÅ¡£

ǰÁ½ÖÖ·½·¨ÒªÇóÖ÷»úÔÚͬһ¸ö×ÓÍøÖУ¬²»³£Ê¹Óá£ËùÒÔÎÒÖ÷Òª½éÉÜËíµÀµÄ·½·¨¡£

OverlayËíµÀÄ£ÐÍ

OverlayÍøÂçÆäʵ¾ÍÊÇËíµÀ¼¼Êõ£¬¼´½«Ò»ÖÖÍøÂçЭÒé°ü×°ÔÚÁíÒ»ÖÖЭÒéÖд«ÊäµÄ¼¼Êõ¡£ËíµÀ±»¹ã·ºÓÃÓÚÁ¬½ÓÄÇЩÒòʹÓÃÆäËûÍøÂç¶ø±»¸ôÀëµÄÖ÷»úºÍÍøÂ磬½á¹ûÉú³ÉµÄÍøÂç¾ÍÊÇËùνµÄOverlayÍøÂç¡£ÒòΪËüÓÐЧµØ¸²¸ÇÔÚ»ù´¡ÍøÂçÖ®ÉÏ£¬Õâ¸öÄ£Ð;ͿÉÒԺܺõؽâ¾ö¿çÍøÂçʹDockerÈÝÆ÷ʵÏÖ¶þ²ã»òÈý²ãͨÐŵÄÐèÇó¡£Èçͬһ¹«Ë¾²»Í¬°ì¹«µØµã¼äÄÚÍøÁ¬½ÓµÄVPN¼¼Êõ£¬¾ÍÊǽ«Èý²ãIPÊý¾Ý°ü·â×°ÔÚËíµÀЭÒéÖнøÐд«Êä¡£

ʹÓÃgreËíµÀÁ¬½ÓµÄ¶àÖ÷»úÈÝÆ÷¼äͨÐÅ£¬ÈçÏÂͼËùʾ¡££¨OVS + gre£©

ÀàNeutronµÄ¶à×â»§µÄGREÍøÂç

ËíµÀ·½°¸µÄÁíÒ»¸öºÃ´¦¾ÍÊÇ¿ÉÒÔ½â¾öVLAN ID ²»×ãµÄÎÊÌâ¡£²»Í¬µÄ×⻧ʹÓò»Í¬µÄ GRE IDÔÚËíµÀÖд«Êä¡£ÕâÑùµÄ·½°¸ÀàËÆÓÚOpenStackµÄneutronÍøÂ硣ʾÒâͼÈçÏ£º

Libnetwork ǰհ

LibnetworkÊÇDocker¹Ù·½½üÒ»¸öÔÂÀ´ÍƳöµÄÐÂÏîÄ¿£¬ÓÉÕâ¸öissue¶øÀ´¡£Ö¼ÔÚ½«DockerµÄÍøÂ繦ÄÜ´ÓDockerºËÐÄ´úÂëÖзÖÀë³öÈ¥£¬ÐγÉÒ»¸öµ¥¶ÀµÄ¿â¡£ Libnetworkͨ¹ý²å¼þµÄÐÎʽΪDockerÌá¹©ÍøÂ繦ÄÜ¡£ ʹµÃÓû§¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÇóʵÏÖ×Ô¼ºµÄDriverÀ´Ìṩ²»Í¬µÄÍøÂ繦ÄÜ¡£ ĿǰÖ÷ÒªÓÉsocketplaneµÄÄǰïÈËÔÚ¿ª·¢¡£

¹Ù·½Ä¿Ç°¼Æ»®ÊµÏÖÒÔÏÂDriver£º

Bridge £º Õâ¸öDriver¾ÍÊÇDockerÏÖÓÐÍøÂçBridgeģʽµÄʵÏÖ¡£ £¨»ù±¾Íê³É£¬Ö÷Òª´Ó֮ǰµÄDockerÍøÂç´úÂëÖÐÇ¨ÒÆ¹ýÀ´£©

Null £º DriverµÄ¿ÕʵÏÖ£¬ÀàËÆÓÚDocker ÈÝÆ÷µÄNoneģʽ¡£

Overlay £º ËíµÀģʽʵÏÖ¶àÖ÷»úͨÐŵķ½°¸¡£ £¨»¹Ö»ÊǸö¼Æ»®£¬¾ßÌåʵÏÖϸ½Ú»¹Ã»¶¨£©

LibnetworkËùҪʵÏÖµÄÍøÂçÄ£ÐÍ»ù±¾ÊÇÕâÑùµÄ£º Óû§¿ÉÒÔ´´½¨Ò»¸ö»ò¶à¸öÍøÂ磨һ¸öÍøÂç¾ÍÊÇÒ»¸öÍøÇÅ»òÕßÒ»¸öVLAN £©£¬Ò»¸öÈÝÆ÷¿ÉÒÔ¼ÓÈëÒ»¸ö»ò¶à¸öÍøÂç¡£ ͬһ¸öÍøÂçÖÐÈÝÆ÷¿ÉÒÔͨÐÅ£¬²»Í¬ÍøÂçÖеÄÈÝÆ÷¸ôÀë¡£

1.7 °æ±¾µÄDocker½«»á°ÑLibnetworkÕûºÏ½øÀ´£¨Ä¿Ç°ÒѾ­ÕûºÏ½øÈ¥ÁË£©£¬µ«¹¦Äܲ¢Ã»ÓÐÌ«´ó±ä»¯£¬ÒòΪĿǰ½öÍê³ÉÁËBridge Driver¡£ Ö®ºó»á¼ÌÐøÍêÉÆ¡£

DockerÍøÂçµÄ·¢Õ¹ÒÔºó¾Í¶¼ÔÚÕâ¸öÏîÄ¿ÉÏÁË£¬Ä¿Ç°Õâ¸öÏîÄ¿²Å¸Õ¸Õ¿ªÊ¼£¬»¹ÓкܶණÎ÷ûÓÐÈ·¶¨¡£´ó¼ÒÓÐÐËȤ¿ÉÒÔ¶à¶à¹Ø×¢Ò»Ï¡£

   
3370 ´Îä¯ÀÀ       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Åàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ