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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Docker Swarmѧϰ½Ì³Ì
 
À´Ô´;²©¿Í  ·¢²¼ÓÚ 2016-8-17
  3486  次浏览      28
 

Swarm½éÉÜ

SwarmÊÇDocker¹«Ë¾ÔÚ2014Äê12Ô³õ·¢²¼µÄÒ»Ì×½ÏΪ¼òµ¥µÄ¹¤¾ß£¬ÓÃÀ´¹ÜÀíDocker¼¯Èº£¬Ëü½«Ò»ÈºDockerËÞÖ÷»ú±ä³ÉÒ»¸öµ¥Ò»µÄ£¬ÐéÄâµÄÖ÷»ú¡£SwarmʹÓñê×¼µÄDocker API½Ó¿Ú×÷ΪÆäǰ¶Ë·ÃÎÊÈë¿Ú£¬»»ÑÔÖ®£¬¸÷ÖÖÐÎʽµÄDocker Client(dockerclient in go, docker_py, dockerµÈ)¾ù¿ÉÒÔÖ±½ÓÓëSwarmͨÐÅ¡£Swarm¼¸ºõÈ«²¿ÓÃGoÓïÑÔÀ´Íê³É¿ª·¢£¬ÉÏÖÜÎ壬4ÔÂ17ºÅ£¬Swarm0.2·¢²¼£¬Ïà±È0.1°æ±¾£¬0.2°æ±¾Ôö¼ÓÁËÒ»¸öеIJßÂÔÀ´µ÷¶È¼¯ÈºÖеÄÈÝÆ÷£¬Ê¹µÃÔÚ¿ÉÓõĽڵãÉÏ´«²¥ËüÃÇ£¬ÒÔ¼°Ö§³Ö¸ü¶àµÄDockerÃüÁîÒÔ¼°¼¯ÈºÇý¶¯¡£

Swarm deamonÖ»ÊÇÒ»¸öµ÷¶ÈÆ÷£¨Scheduler£©ºÍ·ÓÉÆ÷(router),Swarm×Ô¼º²»ÔËÐÐÈÝÆ÷£¬ËüÖ»ÊǽÓÊÜdocker¿Í»§¶Ë·¢Ë͹ýÀ´µÄÇëÇ󣬵÷¶ÈÊʺϵĽڵãÀ´ÔËÐÐÈÝÆ÷£¬ÕâÒâζ×Å£¬¼´Ê¹SwarmÓÉÓÚijЩԭÒò¹ÒµôÁË£¬¼¯ÈºÖеĽڵãÒ²»áÕÕ³£ÔËÐУ¬µ±SwarmÖØÐ»ָ´ÔËÐÐÖ®ºó£¬Ëü»áÊÕ¼¯Öؽ¨¼¯ÈºÐÅÏ¢¡£ÏÂÃæÊÇSwarmµÄ½á¹¹Í¼£º

ÈçºÎʹÓÃSwarm

ÓÐ3̨»úÆ÷£¬sclu083£¬IPµØÖ·ÊÇ10.13.181.83,sclu084,IPµØÖ·ÊÇ10.13.181.84£¬atsg124 ,IPµØÖ·ÊÇ10.32.105.124£¬ÀûÓÃÕâÈý̨»úÆ÷´´½¨Ò»¸öDocker¼¯Èº£¬ÆäÖÐsclu083ͬʱ³äµ±swarm manager¹ÜÀí¼¯Èº.

Swarm°²×°

×î¼òµ¥µÄ°²×°SwarmµÄ·½Ê½¾ÍÊÇÓÃDocker¹Ù·½ÌṩµÄSwarm¾µÏñ£º

sudo docker pull swarm

Docker¼¯Èº¹ÜÀíÐèÒª·þÎñ·¢ÏÖ(Discovery service backend)¹¦ÄÜ.SwarmÖ§³ÖÒÔϼ¸ÖÖdiscovery service backend£ºDocker HubÉÏÃæÄÚÖõķþÎñ·¢ÏÖ¹¦ÄÜ£¬±¾µØµÄ¾²Ì¬ÎļþÃèÊö¼¯Èº(static file describing the cluster),etcd(˳´øËµÒ»¾ä£¬etcdÕâÍæÒâÃ²ËÆºÜ»ðºÜÓÐǰ;£¬ÓÐʱ¼äÑо¿ÏÂ),consul,zookeeperºÍһЩ¾²Ì¬µÄipÁбí(a static list of ips).±¾ÎÄ»áÏêϸ½éÉÜÇ°ÃæÁ½ÖÖ·½·¨backendµÄʹÓá£

ÔÚʹÓÃSwarm½øÐм¯Èº¹ÜÀí֮ǰ£¬ÐèÒªÏȰÑ×¼±¸¼ÓÈ뼯ȺµÄËùÓеĽڵãµÄdocker deamonµÄ¼àÌý¶Ë¿ÚÐÞ¸ÄΪ0.0.0.0:2375£¬¿ÉÒÔÖ±½ÓʹÓà sudo docker ¨CH tcp://0.0.0.0:2375 &ÃüÁҲ¿ÉÒÔÔÚÅäÖÃÎļþÖÐÐÞ¸Ä

sudo vim /etc/default/docker

ÔÚÎļþµÄ×îºóÃæÌí¼ÓÏÂÃæÕâ¾ä

D0OCKER_OPTS=¡±-H 0.0.0.0:2375 ¨CH unix:///var/run/docker.sock¡±

×¢Ò⣺һ¶¨ÊÇÒªÔÚËùÓеĽڵãÉϽøÐÐÐÞ¸Ä,ÐÞ¸ÄÖ®ºóÒªÖØÆôdocker deamon

sudo service docker restart

µÚÒ»ÖÖ·½·¨£ºÊ¹ÓÃDocker HubÉÏÃæÄÚÖõķþÎñ·¢ÏÖ¹¦ÄÜ

µÚÒ»²½£ºÔÚÈκÎһ̨½ÚµãÉÏÃæÖ´ÐÐswarm createÃüÁîÀ´´´½¨Ò»¸ö¼¯Èº±êÖ¾¡£ÕâÌõÃüÁîÖ´ÐÐÍê±ÏÖ®ºó£¬swarm»áǰÍùDocker HubÉÏÄÚ½¨µÄ·¢ÏÖ·þÎñÖлñȡһ¸öÈ«ÇòΨһµÄtoken,ÓÃÒÔΨһµÄ±êʶswarm¹ÜÀíµÄDocker¼¯Èº¡£

sudo docker run ¨C-rm swarm create

ÎÒÃÇÔÚsclu084 Õą̂»úÆ÷ÉÏÖ´ÐÐÉÏÃæµÄÃüÁî,Ч¹ûÈçÏ£º

·µ»ØµÄtokenÊÇd947b55aa8fb9198b5d13ad81f61ac4d£¬Õâ¸ötokenÒ»¶¨Òª¼Çס£¬ÒòΪ½ÓÏÂÀ´µÄ²Ù×÷¶¼»áÓõ½ÕâÒ»¸ötoken¡£

µÚ¶þ²½£ºÔÚËùÓеÄÒª¼ÓÈ뼯ȺµÄ»úÆ÷ÉÏÃæÖ´ÐÐswarm joinÃüÁ°Ñ»úÆ÷¼ÓÈ뼯Ⱥ

±¾´ÎÊÔÑé¾ÍÊÇÒªÔÚËùÓеÄÈý̨»úÆ÷ÉÏÖ´ÐÐÃüÁ

sudo docker run ¨C-rm swarm join ¨Caddr=ip_address
:2375 token://d947b55aa8fb9198b5d13ad81f61ac4d

ÔÚIPµØÖ·Îª10.13.181.84»úÆ÷ÉÏÃæÖ´ÐеÄЧ¹ûÈçÏÂͼ£º

Ö´ÐÐÕâÌõÃüÁîºó²»»áÁ¢¼´·µ»Ø £¬ÎÒÃÇÊÖ¶¯Í¨¹ýCtrl+C·µ»Ø¡£

µÚÈý²½£ºÆô¶¯swarm manager

ÒòΪÎÒÃÇÊÇÒªÈÃsclu083³äµ±Swarm¹ÜÀí½Úµã£¬ËùÒÔÎÒÃÇÒªÔÚÕâÌõ»úÆ÷ÉÏÃæÖ´ÐÐswarm manageÕâÌõÃüÁ

sudo docker run ¨Cd ¨Cp 2376:2375 swarm manage 
token:// d947b55aa8fb9198b5d13ad81f61ac4d

ÐèҪעÒâµÄÊÇ£ºÔÚÕâÌõÃüÁîÖУ¬µÚÒ»£ºÒªÒÔdaemonµÄÐÎʽÔËÐÐswarm¡£µÚ¶þ£º¶Ë¿ÚÓ³É䣺2376¿ÉÒÔ¸ü»»³ÉÈκÎÒ»¸ö±¾»úûÓÐÕ¼ÓõĶ˿ڣ¬Ò»¶¨²»ÄÜÊÇ2375¡£·ñÔò¾Í»á³öÎÊÌâ¡£

Ö´Ðнá¹ûÈçÏÂÈçËùʾ£º

Ö´ÐÐÍêÕâ¸öÃüÁîÖ®ºó£¬Õû¸ö¼¯ÈºÒѾ­Æô¶¯ÆðÀ´ÁË¡£

ÏÖÔÚ¿ÉÒÔÔÚÈκÎһ̨½ÚµãÉϲ鿴¼¯ÈºÉϵÄËùÓнڵãÁË¡£

Ö®ºó¿ÉÒÔÔÚÈκÎһ̨°²×°ÁËdockerµÄ»úÆ÷ÉÏÃæÍ¨¹ýÃüÁî(ÃüÁîÖÐÒªÖ¸Ã÷swarm maneger »úÆ÷µÄIPµØÖ·ºÍ¶Ë¿Ú)ÔÚÕâ¸ö¼¯ÈºÉÏÃæÔËÐÐDcokerÈÝÆ÷²Ù×÷¡£

ÏÖÔÚÔÚ10.13.181.85Õą̂»úÆ÷ÉÏÃæ²é¿´¼¯ÈºµÄ½ÚµãµÄÐÅÏ¢¡£infoÃüÁî¿ÉÒÔ»»³ÉÈκÎÒ»¸öSwarmÖ§³ÖµÄdockerÃüÁÕâЩÃüÁî¿ÉÒԲ鿴¹Ù·½Îĵµ

sudo docker ¨CH 10.13.181.83:2376 info

ÓÉÉÏͼµÄ½á¹û£¬ÎÒÃÇ¿ÉÒÔ·¢ÏÖÒ»¸öÎÊÌ⣺Ã÷Ã÷Õâ¸öС¼¯ÈºÖÐÊÇÓÐ3¸ö½ÚµãµÄ£¬µ«ÊÇinfoÃüÁîÖ»ÏÔʾÁË2¸ö½Úµã¡£»¹È±ÉÙ½Úµã10.32.105.124¡£ÎªÊ²Ã´»á³öÏÖÕâ¸öÇé¿öÄØ£¿

ÒòΪ10.32.105.124Õą̂»úÆ÷ûÓÐÉèÖÃÉÏÃæµÄdocker daemon¼àÌý0.0.0.0:2375Õâ¸ö¶Ë¿Ú£¬ËùÒÔSwarmû°ì·¨°ÉÕâ¸ö½Úµã¼ÓÈ뼯ȺÖÐÀ´¡£

ÔÚʹÓÃDocker HubÄÚÖõķ¢ÏÖ·þÎñʱ£¬»á³öÏÖÒ»¸öÎÊÌ⣬¾ÍÊÇʹÓÃswarm createʱ»á³öÏÖ

time="2015-04-21T08:56:25Z" 
level=fatal msg="Get
https://discovery-stage.hub.docker.com/v1/clusters/
d947b55aa8fb9198b5d13ad81f61ac4d: dial tcp: i/o timeout"

ÀàËÆÓÚÕâÑùµÄ´íÎ󣬲»ÖªµÀÊÇʲôԭÒò£¬Óдý½â¾ö¡£

µ±Ê¹ÓÃDocker HubÄÚÖõķþÎñ·¢ÏÖ¹¦ÄܳöÏÖÎÊÌâʱ£¬¿ÉÒÔʹÓÃÏÂÃæµÄµÚ¶þÖÖ·½·¨¡£

µÚ¶þÖÖ·½·¨£ºÊ¹ÓÃÎļþ

µÚ¶þÖÖ·½·¨Ïà¶Ô¶øÑԱȵÚÒ»ÖÖ·½·¨Òª¼òµ¥£¬Ò²¸ü²»ÈÝÒ׳öÏÖtimeoutµÄÎÊÌâ¡£

µÚÒ»²½£ºÔÚsclu083Õą̂»úÆ÷ÉÏн¨Ò»¸öÎļþ£¬°ÑÒª¼ÓÈ뼯ȺµÄ»úÆ÷µÄIPµØÖ·Ð´½øÈ¥

µÚ¶þ²½£ºÔÚsclu083Õą̂»úÆ÷ÉÏÃæÖ´ÐÐswarm manageÃüÁ

sudo docker run ¨Cd ¨Cp 2376:2375 ¨Cv $(pwd)/cluster:/tmp/
cluster swarm manage file:///tmp/cluster

×¢Ò⣺ÕâÀïÒ»¶¨ÒªÊ¹ÓÃ-vÃüÁÒòΪclusterÎļþÊÇÔÚ±¾»úÉÏÃæ£¬Æô¶¯µÄÈÝÆ÷ĬÈÏÊÇ·ÃÎʲ»µ½µÄ£¬ËùÒÔҪͨ¹ý-vÃüÁî¹²Ïí¡£»¹ÓУ¬file:///ǧÍò²»ÄÜÍü¼ÇÁË

¿ÉÒÔ¿´µ½£¬swarmÒѾ­ÔËÐÐÆðÀ´ÁË¡£ÏÖÔÚ¿ÉÒԲ鿴ϼ¯Èº½ÚµãÐÅÏ¢ÁË£¬Ê¹ÓÃÃüÁ

sudo docker run ¨Crm ¨Cv $(pwd)/cluster:/tmp/cluster swarm list file:///tmp/cluster

(ÔÚʹÓÃÎļþ×÷Ϊ·þÎñ·¢ÏÖµÄʱºò£¬Ã²ËÆmanage listÃüÁîÖ»ÄÜÔÚswarm manage½ÚµãÉÏʹÓã¬ÔÚÆäËû½ÚµãÉϺÃÏñÊÇÓò»ÁË)

ºÃÁË£¬ÏÖÔÚ¼¯ÈºÒ²ÒѾ­ÔËÐÐÆðÀ´ÁË£¬¿ÉÒÔ¸úµÚÒ»ÖÖ·½·¨Ò»ÑùÔÚÆäËû»úÆ÷ÉÏʹÓü¯ÈºÁË¡£Í¬ÑùÔÚsclu085 »úÆ÷ÉÏ×ö²âÊÔ:

¿ÉÒÔ¿´µ½£¬³É¹¦·ÃÎʲ¢ÇÒ½ÚµãÐÅÏ¢ÊÇÕýÈ·µÄ¡£½ÓÏÂÀ´¿ÉÒÔ°ÑÉÏÃæµÄinfoÃüÁîÌæ»»³ÉÆäËûdocker¿ÉÖ´ÐÐÃüÁîÀ´Ê¹ÓÃÕâ¸öÏþµÃDocker¼¯ÈºÁË¡£

Swarmµ÷¶È²ßÂÔ

SwarmÔÚschedule½ÚµãÔËÐÐÈÝÆ÷µÄʱºò£¬»á¸ù¾ÝÖ¸¶¨µÄ²ßÂÔÀ´¼ÆËã×îÊʺÏÔËÐÐÈÝÆ÷µÄ½Úµã£¬Ä¿Ç°Ö§³ÖµÄ²ßÂÔÓУºspread,binpack,random.

Random¹ËÃû˼Ò壬¾ÍÊÇËæ»úÑ¡ÔñÒ»¸öNodeÀ´ÔËÐÐÈÝÆ÷£¬Ò»°ãÓÃ×÷µ÷ÊÔÓã¬spreadºÍbinpack²ßÂÔ»á¸ù¾Ý¸÷¸ö½ÚµãµÄ¿ÉÓõÄCPU,RAMÒÔ¼°ÕýÔÚÔËÐеÄÈÝÆ÷µÄÊýÁ¿À´¼ÆËãÓ¦¸ÃÔËÐÐÈÝÆ÷µÄ½Úµã¡£

ÔÚͬµÈÌõ¼þÏ£¬Spread²ßÂÔ»áÑ¡ÔñÔËÐÐÈÝÆ÷×îÉÙµÄÄÇ̨½ÚµãÀ´ÔËÐÐеÄÈÝÆ÷£¬binpack²ßÂÔ»áÑ¡ÔñÔËÐÐÈÝÆ÷×ÖеÄÄÇ̨»úÆ÷À´ÔËÐÐеĽڵã(The binpack strategy causes Swarm to optimize for the container which is most packed.)¡£

ʹÓÃSpread²ßÂÔ»áʹµÃÈÝÆ÷»á¾ùºâµÄ·Ö²¼ÔÚ¼¯ÈºÖеĸ÷¸ö½ÚµãÉÏÔËÐУ¬Ò»µ©Ò»¸ö½Úµã¹ÒµôÁËÖ»»áËðʧÉÙ²¿·ÖµÄÈÝÆ÷¡£

Binpack²ßÂÔ×î´ó»¯µÄ±ÜÃâÈÝÆ÷Ë鯬»¯£¬¾ÍÊÇ˵binpack²ßÂÔ¾¡¿ÉÄܵİѻ¹Î´Ê¹ÓõĽڵãÁô¸øÐèÒª¸ü´ó¿Õ¼äµÄÈÝÆ÷ÔËÐУ¬¾¡¿ÉÄܵİÑÈÝÆ÷ÔËÐÐÔÚÒ»¸ö½ÚµãÉÏÃæ¡£

Constraint Filter

ͨ¹ýlabelÀ´ÔÚÖ¸¶¨µÄ½ÚµãÉÏÃæÔËÐÐÈÝÆ÷¡£ÕâЩlabelÊÇÔڵض´docker daemonʱָ¶¨µÄ£¬Ò²¿ÉÒÔÐ¶ÔØ/etc/default/dockerÕâ¸öÅäÖÃÎļþÀïÃæ¡£

sudo docker run ¨CH 10.13.181.83:2376 run ¨Cname redis_083 ¨Cd ¨Ce constraint
:label==083 redis

Affinity Filter

ʹÓÃ-e affinity:container==container_name / container_id ¨C-name container_1¿ÉÒÔÈÃÈÝÆ÷container_1½ô°¤×ÅÈÝÆ÷container_name / container_idÖ´ÐУ¬Ò²¾ÍÊÇ˵Á½¸öÈÝÆ÷ÔÚÒ»¸önodeÉÏÃæÖ´ÐÐ(You can schedule 2 containers and make the container #2 next to the container #1.)

ÏÈÔÚһ̨»úÆ÷ÉÏÆô¶¯Ò»¸öÈÝÆ÷

sudo docker -H 10.13.181.83:2376 run --name redis_085 
                          -d -e constraint:label==085 redis

½ÓÏÂÀ´Æô¶¯ÈÝÆ÷redis_085_1£¬ÈÃredis_085_1½ô°¤×Åredis_085ÈÝÆ÷ÔËÐУ¬Ò²¾ÍÊÇÔÚÒ»¸ö½ÚµãÉÏÔËÐÐ

sudo docker ¨CH 10.13.181.83:2376 run ¨Cd ¨Cname redis_085_1 ¨Ce affinity
:container==redis_085 redis

ͨ¹ý-e affinity:image=image_nameÃüÁî¿ÉÒÔÖ¸¶¨Ö»ÓÐÒѾ­ÏÂÔØÁËimage_nameµÄ»úÆ÷²ÅÔËÐÐÈÝÆ÷(You can schedule a container only on nodes where the images are already pulled)

ÏÂÃæÃüÁîÔÚÖ»ÓÐredis¾µÏñµÄ½ÚµãÉÏÃæÆô¶¯redisÈÝÆ÷:

sudo docker ¨CH 100.13.181.83:2376 run ¨Cname redis1 ¨Cd ¨Ce affinity:image==redis redis

ÏÂÃæÕâÌõÃüÁî´ïµ½µÄЧ¹ûÊÇ£ºÔÚÓÐredis¾µÏñµÄ½ÚµãÉÏÃæÆô¶¯Ò»¸örÃû×Ö½Ð×öredisµÄÈÝÆ÷£¬Èç¹ûÿ¸ö½ÚµãÉÏÃæ¶¼Ã»ÓÐredisÈÝÆ÷£¬¾Í°´ÕÕĬÈϵIJßÂÔÆô¶¯redisÈÝÆ÷¡£

sudo docker -H 10.13.181.83:2376 run -d --name redis -e affinity:image==~redis redis

Port filter

PortÒ²»á±»ÈÏΪÊÇÒ»¸öΨһµÄ×ÊÔ´

sudo docker -H 10.13.181.83:2376 run -d -p 80:80 nginx

Ö´ÐÐÍêÕâÌõÃüÁÈκÎʹÓÃ80¶Ë¿ÚµÄÈÝÆ÷¶¼ÊÇÆô¶¯Ê§°Ü¡£

½áÊøÓ

±¾ÎÄÏêϸ½éÉÜÁËÁ½ÖÖ·½·¨À´Ê¹ÓÃSwarm¹ÜÀíDocker¼¯Èº¡£µ«ÊÇSwarmÊÇÒ»¸ö±È½ÏеÄÏîÄ¿£¬Ä¿Ç°»¹´¦ÓÚÑз¢½×¶Î£¬SwarmµÄ·¢Õ¹Ê®·Ö¿ìËÙ£¬¹¦ÄܺÍÌØÐԵıä¸üµü´ú»¹·Ç³£Æµ·±¡£Òò´Ë£¬¿ÉÒÔ˵Swarm»¹²»ÍƼö±»ÓÃÓÚÉú²ú»·¾³ÖУ¬µ«¿ÉÒԿ϶¨µÄÊÇSwarmÊÇÒ»ÏîºÜÓÐǰ;µÄ¼¼Êõ¡£

   
3486 ´Îä¯ÀÀ       28
 
Ïà¹ØÎÄÕÂ

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

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
Èí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Åàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ