±¾ÎÄÖ÷Òª´ÓIaaSÊӽǣ¬·ÖÏíSCEͨ¹ýÔõÑùµÄʵ¼ùÀ´Ö§³ÖÉϲã²úÆ·ÏßµÄÈÝÆ÷»¯ËßÇó¡£Ê×ÏÈÁÄÁÄÎÒÃÇΪʲô×öÖ§³ÖDocker¼¼ÊõÕâ¼þÊÂÇ飬Ȼºó½éÉÜÏÂDockerÖ§³Öʵ¼ùµÄ·½·½ÃæÃæ¡£×îºó¸ø³öʵ¼ù¹ý³ÌÖÐ×ܽá³öÀ´µÄһЩ¾Ñé¼°²È¹ýµÄһЩ¿Ó£¬ÒÔ¼°ºóÐøÐèÒªÉî¸ûµÄµã¡£
Ïȼٶ¨½ñÍíµÄÌýÖÚÖÁÉÙÒѾС·¶Î§Ê¹ÓùýDocker¼¼Êõ£¬ÊìϤÏà¹Ø¸ÅÄî¼°ÔÀí¡£
ǰ¼¸ÆÚDockOne¼¼Êõ·ÖÏíÒѾÕë¶ÔDockerµÄ¼¸¸ö¼¼ÊõÒªµã×öÁËÉîÈë·ÖÎö£¬ËùÒÔÎÒ½ñÍíÖ÷Òª´ÓIaaSÊӽǣ¬·ÖÏíSCEͨ¹ýÔõÑùµÄʵ¼ùÀ´Ö§³ÖÉϲã²úÆ·ÏßµÄÈÝÆ÷»¯ËßÇó¡£
ΪºÎÖ§³ÖDocker¼¼Êõ
ΪºÎ×öÕâ¼þÊÂ
ÏȽéÉÜÏÂÎÒÀËSCE¡£SCEÊÇÐÂÀËÑз¢ÖÐÐÄÖ÷ÍÆË½ÓÐÔÆ²úÆ·£¬ÒѾ¸²¸Çµ½¹«Ë¾ÄÚ²¿ËùÓвúÆ·Ïß¡£»ùÓÚOpenStack¶¨ÖÆ£¬ÕûºÏÁ˹«Ë¾Í¨µÀ»ú¡¢CMDB£¬Îª¹«Ë¾ÄÚ²¿È«²úÆ·ÏßÌṩIaaS·þÎñ¡£¹«ÓÐÔÆ°æ±¾½üÆÚ¿ªÊ¼Äڲ⡣
Ê×ÏÈ£¬OpenStackÓëDockerÌìÉú»¥²¹¡£
1.OpenStackÃæÏòIaaS£¬ÒÔ×ÊԴΪÖÐÐÄ£¬´ò°üOS;Äܹ»Ìṩ³ÉÊìµÄ×ÊÔ´ÏÞÖÆÓë¸ôÀëÄÜÁ¦;¶àOSϵÁÐÖ§³Ö;
2.DockerÔòÃæÏòPaaS£¬ÒÔ·þÎñΪÖÐÐÄ£¬´ò°üservice;Çá¿ìºÃÊ¡;
ĿǰIaaSÒµ½çÖ÷ÒªÒÔÌá¹©ÔÆÖ÷»ú·þÎñΪÖ÷£¬ÓÐ×ųÉÊìµÄ×ÊÔ´ÏÞÖÆ¡¢×ÊÔ´¸ôÀëÄÜÁ¦£¬µ«±¾ÖÊÉÏÊǶÔOSµÄ´ò°ü£¬ÎÞ·¨Âú×ãÔÚÓ¦¶Ô·åÖµ·ÃÎÊ¡¢¿ìËÙÉìËõ¡¢¿ìËÙ²¿ÊðµÈ·½ÃæËßÇó¡£¶ødockerÓëÉú¾ãÀ´µÄÌØÐÔ¡±Çá¡¢¿ì¡¢ºÃ¡¢Ê¡¡°£¬Ôòǡǡ¿ÉÒÔÃÖ²¹IaaSÔÚ´Ë·½ÃæµÄ²»×ã¡£µ±È»OpenStackÉçÇøÎªÁËÄܹ»¸üºÃµÄÖ§³ÖdockerÒ²³¢ÊÔ×öÁ˺ܶàŬÁ¦£¬Õâ¸öºóÃæ»á½²µ½¡£
Æä´Î£¬SCEÔËά¹ý³Ì·¢ÏÖ£¬²úÆ·Ïß¶ÔÈÝÆ÷¼¼ÊõÐèÇóÏ൱ÍúÊ¢¡£
1.¿ìËÙ²¿Êð;
2.¿ìËÙÆðÍ£¡¢´´½¨ÓëÏú»Ù;
3.Ò»ÖµĿª·¢²âÊÔ»·¾³;
4.ÑÝʾ¡¢ÊÔÓû·¾³;
5.½â¾öÉ豸³É±¾£¬³ä·ÖÀûÓÃ×ÊÔ´;
6.¼¼Êõ·½°¸¿ìËÙÑéÖ¤;
7.¸ü¶à......
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ÖÐÈÕÖ¾·½°¸£º
1.app´òcontainer logfile;
2.app´òstdout£¬stderr;
3.app+agent´òÔ¶¶Ë;
ǰÁ½ÖÖ·½°¸ÊÊÓÃÓÚ¶ÔÈÕÖ¾ÒªÇ󲻸ߵÄʹÓó¡¾°£¬È翪·¢²âÊÔ¡£
µÚÈýÖÖ·½°¸ÔòÊÊÓÃÓÚÕæÊµµÄÒµÎñ³¡¾°¡¢Éú²ú»·¾³£¬ÕâЩ³¡¾°¶ÔÈÕÖ¾³Ö¾Ã»¯¡¢¼ìË÷¡¢¼à¿Ø¡¢¸æ¾¯µÈ·½Ãæ¶¼ÓнÏÇ¿ÐèÇó;
Docker 1.6µÄsyslog driverĿǰ¿ÉÓÃÐÔ¡¢Ò×ÓÃÐÔ¶¼»¹²»Ì«ÀíÏ룬µ«ÖµµÃ¹Ø×¢¡£
app+rsyslog-kafka·½°¸
ÉÏÃæÌáµ½µÄµÚÈýÖÖÈÕÖ¾·½°¸£¬ÎÒÃÇÊÇͨ¹ýELK·½°¸ÊµÏֵġ£
¼Ü¹¹Í¼

ÈÕÖ¾Á÷
app >>> container rsyslog-kafka >>>
kafka >>> logstash >>> elasticsearch
>>> kibana
ÒµÎñÁ÷
1.²úÆ·Ïß×ßDIPʵʱÈÕÖ¾·ÖÎö·þÎñ½ÓÈë;
DIPÉóÅú;
config_web»ùÓÚDocker Swarm api¶¯Ì¬À©Õ¹logstash¼¯Èº;
2. ¸ø³öÓû§½ÓÈëËùÐèÊý¾Ý£¬ÈçKafka broker¡¢topic;
²úÆ·ÏßÒÀ¾Ý½ÓÈëÊý¾Ý´´½¨container;
1)
docker run -d -e KAFKA_ADDR=... -e KAFKA_TOPIC=... -e LOG_FILE=... -v
$(pwd)/kafka_config.sh:${SOME_DIR}/kafka_config.sh ... |
2)×ñÊØ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¸üºÃµÄ¼¯³É£¬³ä·Ö·¢»ÓÁ½ÕßÓÅÊÆ£¬ÊÇÎÒÃÇÒ»Ö±¹Ø×¢µÄÒ»¸öµã¡£
ĿǰÖ÷ÒªÓÐÈýÖÖ·½°¸£º
1.nova + docker driver;
2.heat + docker driver;
3.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ÈýÕß¼äµÄ¼Ì³Ð¹ØÏµ;
ÓÉÓÚÆª·ùËùÏÞ£¬ÕâÀï¾Í²»ÔÙ¹ý¶àÁо١£
|