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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
docker´æ´¢Çý¶¯ÖªÊ¶¹éÄÉ×ܽá
 
  À´Ô´;×Öĸ¸ç²©¿Í ·¢²¼ÓÚ 2016-8-10
  2632  次浏览      29
 

ǰÑÔ

±¾ÎĴ󲿷ÖÄÚÈÝ£¬Õª×Ôdocker¹Ù·½Îĵµ.Understand images, containers, and storage drivers

ÒëÕßûÓвÉȡԭÎÄ·­ÒëµÄ·½Ê½,¶øÊǽáºÏ×Ô¼ºµÄѧϰ½øÐÐÁ˹éÄÉ×ܽá.

ÒªÏëÕæÕýµÄÀí½âdockerµÄ´æ´¢Çý¶¯£¬ÐèÒªÏÈÁ˽âdocker¾µÏñÊÇÈçºÎ¹¹½¨ºÍ´æ´¢£¬ÒÔ¼°ÈÝÆ÷ÈçºÎʹÓþµÏñ.

¾µÏñÓë·Ö²ã

ÏÂÃæÊÇubuntu:15.04µÄ¾µÏñ·Ö²ã.Ò»¹²ÊÇ£´²ã,ÿһ²ã¶¼ÓÉһЩֻ¶Á²¢ÇÒÃè»æÏµÍ³Çø±ðµÄÎļþ×é³É.

ÉÏÏÂÁ½ÕÅͼ¶Ô±È£¬¿ÉÒÔÇåÎúµÄ¿´µ½¾µÏñ·Ö²ã¹ØÏµ£¨ÉÏͼÊǹٷ½ÎĵµÍ¼Æ¬£¬¿ÉÒÔ¿´µ½¾µÏñ´óС½øÐÐÁ˾«¼ò£¬µ«ÊÇubuntu:15.04¾µÏñµÄ·Ö²ã½á¹¹Ã»±ä£©

Docker´æ´¢Çý¶¯µÄ×÷ÓþÍÊÇ:½«ÕâЩ·Ö²ãµÄ¾µÏñÎļþ¶ÑµþÆðÀ´£¬²¢ÇÒÌṩͳһµÄÊÓͼ.ʹcontainerµÄÎļþϵͳ¿´ÉÏÈ¥ºÍÎÒÃÇÆÕͨµÄÎļþÏµÍ³Ã»Ê²Ã´Çø±ð.

µ±´´½¨Ò»¸öеÄÈÝÆ÷µÄʱºò,ʵ¼ÊÉÏÊÇÔÚ¾µÏñµÄ·Ö²ãÉÏÐÂÌí¼ÓÁËÒ»²ãcontainer layer£¨ÈÝÆ÷²ã£©.Ö®ºóËùÓжÔÈÝÆ÷²úÉúµÄÐÞ¸Ä,ʵ¼Ê¶¼Ö»Ó°ÏìÕâÒ»²ã.

×¢Òâ

ÈÝÆ÷²ã£º¶Áд²ã(¿Éд²ã)

¾µÏñ²ã£ºÖ»¶Á²ã

ÈÝÆ÷Óë·Ö²ã

¾µÏñÓëÈÝÆ÷µÄÒ»¸öÖ÷񻂿±ð¾ÍÊÇ£¬ÊÇ·ñ¾ßÓж¥²ãµÄ¶Áд²ã(¿Éд²ã).¶ÔÓÚÒ»¸öÈÝÆ÷µÄÊý¾ÝÐÂÔö£¬Ð޸쬶¼´æ´¢ÔÚ¿Éд²ã.µ±Äãɾ³ýÒ»¸öÈÝÆ÷µÄʱºò£¬¿Éд²ãÒ²½«±»É¾³ý(×¢Òâ:¿Éд²ãÓëÊý¾Ý¾íµÄÇø±ð).È»¶ø¾µÏñ²ãÊDZ£³Ö²»±äµÄ.

ÏÂͼչʾÁË£¬¶à¸öÈÝÆ÷¹²ÏíÒ»¸ö¾µÏñ.¾µÏñ²ãÊÇÖ»¶Á²ã,²»±äµÄ.¶à¸öÈÝÆ÷²ãÔÚͬһ¸ö¾µÏñ²ãÖ®ÉÏ£¬²¢ÇÒÏ໥¶ÀÁ¢£¬»¥Ï಻ӰÏì.

docker ´æ´¢Çý¶¯µÄÖ°Ôð¾ÍÊǽ«¾µÏñ²ãºÍ¿ÉдÈÝÆ÷²ã¹ÜÀíÆðÀ´.²»Í¬µÄÇý¶¯ÊµÏÖ¹ÜÀíµÄ·½Ê½Ò²²»Ò»ÖÂ.ʵÏÖÈÝÆ÷Óë¾µÏñ¹ÜÀíµÄÁ½¸ö¹Ø¼ü¼¼Êõ¾ÍÊǿɶѵþµÄ¾µÏñ²ãºÍcopy-on-write (CoW£¬Ð´Ê±¸´ÖÆ).

¼òÊöдʱ¸´ÖÆ

¾Ù¸öÀý×Ó£ºÐ¡ÎĺÍСÎäÓɲ»Í¬µÄÀÏʦÉÏÊýѧ¿Î£¬µ«ÊÇËûÃÇÖ»ÓÐÒ»¸öϰÌâ²á.СÎĵÄ×÷ÒµÊÇ£¬Á·Ï°²áµÄµÚʮһҳ.ΪÁ˲»Ó°Ï쵽СÎ䣬СÎĵÄ×ö·¨Êǽ«µÚ11Ò³copy£¬Íê³É×÷ÒµºóÉϽ».Õâ¾ÍÊÇÒ»¸öµäÐ͵Äдʱ¸´ÖÆ

µÚÒ»´ÎÐÞ¸ÄÒ»¸öÎļþ,Õâ¸öÎļþÊ×ÏÈ»á´Ó¸Ã¶Áд²ãÏÂÃæµÄÖ»¶Á²ã¸´ÖƵ½¸Ã¶Áд²ã¡£¸ÃÎļþµÄÖ»¶Á°æ±¾ÒÀÈ»´æÔÚ£¬µ«ÊÇÒѾ­±»¶Áд²ãÖеĸÃÎļþ¸±±¾ËùÒþ²Ø¡£

Á˽âÁËдʱ¸´ÖÆ£¬¾ÍÓ¦¸Ã×¢ÒâÒ»¸öÎÊÌ⣺Èç¹ûµÚÒ»´ÎÐ޸ľµÏñ²ãÄÚ°üº¬µÄÎļþ£¬ÎļþµÄsizeºÜ´ó.»áÔì³É´óÁ¿µÄ´ÅÅÌIOµÄ¿ªÏú.ËùÒÔ²»½¨Ò齫ÐèÒªÐ޸ĵĴóÎļþ£¬¼¯³Éµ½¾µÏñÄÚ.¿ÉÒÔ²ÉÓÃÊý¾Ý¾íµÄ·½Ê½.

Êý¾Ý¾íÓë´æ´¢Çý¶¯

µ±Ò»¸öÈÝÆ÷ɾ³ýµÄʱºò,дÈë¸ÃÈÝÆ÷µÄËùÓÐÊý¾Ý½«±»É¾³ý(³ýÁ˱£´æÔÚÊý¾Ý¾íÖеÄÊý¾Ý)

Êý¾Ý¾íÊǹÒÔØµ½ÈÝÆ÷µÄ,dockerËÞÖ÷»úÉϵÄÒ»¸öĿ¼»òÎļþ¡£¶ÔÊý¾Ý¾íµÄÎļþ¶ÁдÊDz»ÊÜ´æ´¢Çý¶¯¿ØÖƵ쬽ӽüÓÚ±¾µØÎļþϵͳ¶ÁдËÙ¶È.¿ÉÒÔ¹ÒÔØ¶à¸öÊý¾Ý¾íµ½Ò»¸öÈÝÆ÷.Ò²¿ÉÒÔ¶à¸öÈÝÆ÷¹²ÏíÒ»¸ö»ò¶à¸öÊý¾Ý¾í.

ÈçͼËùʾ:Ò»¸ödockerËÞÖ÷»úÔËÐУ²¸öÈÝÆ÷¡£Ã¿¸öÈÝÆ÷ÓÐ×Ô¼ºµÄ´æ´¢¿Õ¼ä£¬´æ´¢ÓÚËÞÖ÷»ú±¾µØÎļþϵͳ¡¡/var/lib/docker/¡­ ÁíÍâÓÐÒ»¸ö¹²ÏíµÄÊý¾Ý¾íÔÚ /data.¹ÒÔØµ½Á½¸öÈÝÆ÷ÄÚʵÏÖ¹²Ïí.

ÈçºÎÑ¡Ôñ´æ´¢Çý¶¯

dockerĿǰ֧³ÖµÄ´æ´¢Çý¶¯ÓÐ:OverlayFS,AUFS,Btrfs,Device Mapper,VFS,ZFS¡£

dockerµÄ´æ´¢Çý¶¯Ä¿Ç°²¢Ã»ÓÐÒ»¸öͨÓõģ¬ÍêÃÀµÄ£¬ÊÊÓÃÓÚËùÓл·¾³µÄ´æ´¢Çý¶¯.ËùÒÔÐèÒª¸ù¾Ý×Ô¼ºµÄ»·¾³À´ÓÐËùÑ¡Ôñ.

´æ´¢Çý¶¯ÔÚ²»¶ÏµÄ¸Ä½øÓë·¢Õ¹

Èç¹û´ÓÎȶ¨ÐÔÉϵĿ¼Á¿£¬ÔÚ°²×°dockerµÄʱºò»áĬÈϸù¾ÝÄãµÄϵͳ»·¾³ÅäÖÃÑ¡ÔñÒ»¸ö´æ´¢Çý¶¯.ͨ³£À´ËµÊ¹ÓÃÕâ¸öĬÈϵÄÇý¶¯½«¼õÉÙÄãÓöµ½bugµÄ»ú»á.

Èç¹ûÄãµÄÍŶÓʹÓùýRHEL¼°ÆäÏà¹Ø·ÖÖ§,Äã¿ÉÄÜÓйØÓÚLVMºÍDevice MapperµÄ¾­Ñé.Õâʱ½¨ÒéÄãʹÓÃdevicemapper´æ´¢Çý¶¯.

²é¿´µ±Ç°docker ÒýÇæµÄ´æ´¢Çý¶¯

#docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 24
Server Version: 1.10.2
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 52
Dirperm1 Supported: true

ÈçͼËùʾ£º´æ´¢Çý¶¯ÀàÐÍΪaufs,ËÞÖ÷»úÎļþϵͳµÄ¸ñʽΪextfs¡£

´æ´¢Çý¶¯ÓëËÞÖ÷»úÎļþ¸ñʽ

ÉèÖÃdockerµÄ´æ´¢Çý¶¯

·½·¨Ò»:ÈçÉèÖô洢Çý¶¯µÄÀàÐÍΪdevicemapper

$ dockerd --storage-driver=devicemapper &

·½·¨¶þ:ÈçÉèÖô洢Çý¶¯µÄÀàÐÍΪdevicemapper£¬ÔÚDOCKER_OPTSÅäÖòÎÊýµÄ×îºóÃæ¼ÓÉϨCstorage-driver=devicemapper

vim /etc/default/docker

DOCKER_OPTS="<ÆäËûÅäÖÃÏî> --storage-driver=devicemapper"

 

ÏÖ×´ÓëδÀ´

Ðí¶àÈËÈÏΪOverlayFSÊÇDocker´æ´¢Çý¶¯µÄδÀ´.È»¶ø,ËüÈÔÈ»²»¹»³ÉÊì.Îȶ¨ÐÔÉÏÒ²²»ÈçһЩ³ÉÊìµÄ´æ´¢Çý¶¯£¬È磺AUFS£¬devicemapper.

ÏÂÃæµÄͼ±í£¬ÏÔʾÁËÿ¸ö´æ´¢Çý¶¯µÄÓÅÊÆÒÔ¼°²»×㣬Çë²Î¿¼£º

¾ßÌ嵽ijһ¸ö´æ´¢Çý¶¯

Õⲿ·Ö½éÉܾßÌåµÄ´æ´¢Çý¶¯µÄʵÏÖ·½Ê½,¶ÔÓÚ¼¼ÊõÑо¿Õß¿ÉÒԲο¼Ñ§Ï°.¶ÔÓÚÓ¦ÓÃʵ¼ùÕߣ¬¿ÉÒÔÔÝʱֹ²½.±ÊÕß¿´ÁËÕⲿ·ÖÄÚÈÝ£¬Ã»ÓнøÐз­Òë×ܽá.ÁôÏ´ýÒÔºóÍê³É.

AUFS

Docker and AUFS in practice

device mapper

Docker and the Device Mapper storage driver

   
2632 ´Îä¯ÀÀ       29
 
Ïà¹ØÎÄÕÂ

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

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

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

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

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

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