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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Ò»¿´¾Í¶®-DockerÈÝÆ÷»¯
 
×÷ÕßêdzƣºÖªÕßÈÏÖª
  1634  次浏览      27
 2020-10-27
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁËʲôÊÇdocker£¬Ê¹ÓÃdockerµÄ¹ý³ÌÖбØÐëÒªÕÆÎյĸÅÄî,dockerµÄ°²×°ÓëʹÓÃ,ÒÔ¼°¹¹½¨docker¾µÏñ¡£
±¾ÎÄÀ´×ÔÓÚ²©¿ÍÔ°£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

Ò»¡¢Docker¼ò½é

1.1 ʲôÊÇdocker

dockerµÄÓ¢ÎÄÒâ˼ÊÇ ÂëÍ·¹¤ÈË£¬Òâ˼¾ÍÊǰáÔ˶«Î÷µÄÒâ˼£¬ÆäʵÕâºÍdockerµÄÌØµãÊÇÒ»ÑùµÄ£¬dockerÌṩµÄ¾ÍÊÇÒ»ÖÖÈÝÆ÷»¯°áÔ˶«Î÷£¨ÎÒÃǵÄÈí¼þ¡¢³ÌÐò£©µÄ¹ý³Ì¡£docker×Ô¼º±¾À´ÊÇÔËÐÐÔÚ²Ù×÷ϵͳÉÏÒ»¸ö³ÌÐòÈí¼þ£¬Ëü»áÌṩһ¸öÈÝÆ÷»·¾³£¬Ê¹ÎÒÃǵijÌÐò¶ÀÁ¢µØÔËÐÐÔÚÈÝÆ÷ÖУ¬ËùÒÔ˵£¬¹Ù·½¸ødockerÆðµÄÕâ¸öÃû×ÖÒ²ÕæÊÇÓ¦¾°¡£

¾ÍÁ¬Í¼±êÒ²ÊÇÕâôÉú¶¯ÐÎÏ󣬸»ÓÐÊ«Ò⣬ÈÃÈ˸¡ÏëÁªôæ¡£¡£¡£¡££¨ÕâÊÇÈ¥Ó×¶ùÔ°µÄ³µ£¬»¹Ã»Óйսø´óѧ³Ç£©

ÊÔÏëϱßÕâÑùÒ»¸ö³¡¾°£ºµ±ÎÒÃǰÑÎÒÃǵÄwebÍøÕ¾×ö³É·Ö²¼Ê½µÄʱºò£¬ÎÒÃǾÍÒª¼Ó·þÎñÆ÷£¬È»ºóÔÚ¸÷¸ö·þÎñÆ÷ÅäÖÃwebËùÐèÒªµÄÅäÖ㬱ÈÈ磺Êý¾Ý¿â¡¢web·þÎñÆ÷¡¢ÔËÐÐʱɶ£¬ÕâÑùµÄÎÒÃǵÄÍøÕ¾²ÅÄÜÅÜÆðÀ´£¬µ«ÊÇÿµ±ÎÒÃǼӷþÎñÆ÷µÄʱºò£¬ÎÒÃǶ¼ÒªÔÙÖØÐÂÅäÖÃһϣ¬ºÜ·±Ëö£¬ÓÐÁËdocker£¬ÎÒÃǾͿÉÒÔ°ÑÎÒÃǵÄÍøÕ¾ºÍËùÐèÒªµÄ»·¾³ÅäÖú㬴ò³ÉÒ»¸ö°ü£¨docker¾µÏñ£©£¬È»ºóÔÚ·þÎñÆ÷Éϰ²×°docker£¬ÓÃdockerÀ­È¡´ò°üºÃµÄ¾µÏñ£¬Ö±½Órun£¨ÈÝÆ÷£©ÆðÀ´¾ÍÐÐÁË£¬Ê²Ã´¶¼²»ÓùÜÁË£¬ºÜ·½±ã£¬¸ü¼ÓµÄ±ãÓÚ¹ÜÀí£¬¾µÏñÖÐÐÞ¸ÄÅäÖã¬ÖØÐ¸üУ¬ËùÓеÄÈÝÆ÷¾ÍÒ²ÄÜÐÞ¸ÄÁË£¬ÎÒÃǵÄÍøÕ¾Ò²¾ÍÐ޸ĸüÐÂÁË£¬ÌرðµÄ·½±ã¡£

1.2 dockerµÄÌØµã

dockerµÄÌØµã°üº¬ÔÚËüµÄ¿ÚºÅÖÐ

µÚÒ»¾ä£¬ÊÇ¡°Build, Ship and Run¡±¡££¨´î½¨¡¢ÔËÊä¡¢ÔËÐУ©

µÚ¶þ¾ä£¬¡°Build?once£¬Run?anywhere£¨Ò»´Î´î½¨£¬µ½´¦ÔËÐУ©¡±¡£

¿´ÁËÉϱߵij¡¾°£¬ÎÒÃÇ¿ÉÒÔÀí½âÕâÁ½¾ä»°ÁË£¬ÏÖÔÚÄĸöÈí¼þ²»ÊÇÒ»´Î´î½¨¡¢µ½´¦ÔËÐУ¬ÕæµÄ¶¼²»ºÃÒâ˼˵£¬´Ó×ʼµÄjava£¬µ½ÏÖÔڵĸ÷ÖÖ¿çÆ½Ì¨Ç°¶Ë¿ò¼Ü£¨Flutter¡¢ReactNative¡¢IonicɶµÄ£©¡¢Ð¡³ÌÐò¿ò¼Ü£¨Taro£©£¬ÕâÊǽâ·Å¿ª·¢ÈËÔ±¼õÉÙ¿ª·¢³É±¾Ìá¸ß¿ª·¢Ð§ÂʵÄÈýÁ¬»÷Ô츣ÂëÅ©µÄÊÂÇé°¡£¬¸÷ÖÖÓ¦Óòã³ö²»Ç½ÐÎÒÃÇÇéºÎÒÔ¿°¡¢²»¿°»ØÊס¢Ê×µ±Æä³å¡¢³å·æÏÝÕó°¡£¬Ò»²»Ð¡Ðľͱ©Â¶ÁËÎÒµÄÎÄ»¯¡£

1.3 dockerºÍÐéÄâ»ú

һ˵µ½docker£¬ÏàÐÅ´ó¼Ò֮ǰҲÁ˽â¹ý£¬ÄǾͱØÐëÒªºÍÐéÄâ»ú×öһϱȽϣ¬ÆäʵdockerÊǺÍÐéÄâ»úÊÇÀàËÆµÄ¶«Î÷£¬ÎÒÃÇÓ¦¸ÃÖªµÀÐéÄâ»ú¾ÍÊÇÔÚÎÒÃǵIJÙ×÷ϵͳÉÏÐéÄâ³öÀ´Ò»¸öµçÄÔ£¬È»ºóÀï±ß¿ÉÒÔ°²×°¡¢ÔËÐи÷ÖÖ¸÷ÑùµÄÈí¼þ£¬ºÍÎÒÃÇÕæµÄµçÄÔÊDz¶àµÄ£¬ÎÒÃÇ¿ÉÒÔÄÃ×ÅÕâ¸öÐéÄâºÃµÄµçÄÔ£¨ÆäʵÊÇÒ»¸öÎļþ£©ÔÚ°´ÁËÐéÄâ»úµÄÆäËûµçÄÔÉÏ¿ÉÒÔÖ±½ÓÔËÐУ¬Àï±ßµÄ¶«Î÷¾Í²»ÓÃÎÒÃÇÀ´»Ø°²×°ºÍÅäÖÃÁË£¬Ò²ÊǺܷ½±ãµÄ¡£

dockerÆäʵÌṩµÄÒ²ÊÇÕâôһÖֵļ¼Êõ£¬Ö»²»¹ýËü±ÈÐéÄâ»úЧÂʸü¼ÓµÄ¸ß£¬Æô¶¯¿ì£¬Õ¼ÓÃ×ÊԴСµÈһϵÁеÄÓŵ㣬¶øÇÒÐéÄâ»ú±È½Ï±¿ÖØ£¬ÕâÊÇÒòΪÐéÄâ»úºÍdockerÀ´ÊµÏÖ˼ÏëÉÏÓб¾ÖʵÄÇø±ð£¬ÎÒÃÇ¿ÉÒÔͨ¹ýϱߵÄÁ½ÕÅͼ¿ÉÒÔ¶Ô±Èһϣº

ÐéÄâ»úµÄÔË×÷Ô­Àí£ºÊÇÐéÄâµçÄÔµÄÓ²¼þ×ÊÔ´£¬°ÑÓ²¼þ×ÊÔ´·ÖÅä³öÀ´£¬È»ºóÐéÄâ³öÀ´¶à¸ö²Ù×÷ϵͳ£¬ÐéÄâ³öÀ´µÄÊÇÒ»¸öÍêÕûµÄµçÄÔ¡£

dockerµÄÔË×÷Ô­Àí£ºÐéÄâµÄÈí¼þ×ÊÔ´£¬°ÑµçÄÔÖеÄÍøÂç¡¢´æ´¢É¶µÄ·Ö³É¼¸·ÝÐéÄâ³ÉÈÝÆ÷£¬ÎÒÃǵÄÈí¼þÔËÐÐÔÚÈÝÆ÷ÖУ¬Ã¿¸öÈÝÒ×Ö»Õ¼ÓõçÄԵIJ¿·ÖËùÐèÒªµÄ×ÊÔ´£¬²¢²»ÊÇÒ»¸öÍêÕûµÄµçÄÔ¡£

´ó¸Å¾ÍÏñÉϱßÄÇôÀí½â°É£¬·´ÕýÒ²²»ÖªµÀÊǶԲ»¶Ô£¬µ«ÊÇ¿´ÆðÀ´Ó¦¸Ã²»´í¡£

ËùÒÔ£¬´ÓÔË×÷Ô­ÀíÉÏÀ´¿´£¬docker¸ü¼ÓµÄÇáÁ¿¼¶£¬ÐéÄâ»ú¸ü¼ÓµÄ±¿ÖØ£¬dockerÆô¶¯Ò²Ê®·ÖµÄ¿ì£¬²¿ÊðÆðÀ´Ò²·½±ã£¬ËùÒÔÔ½À´Ô½¶àµÄÈË¿ªÊ¼Ê¹ÓÃdockerÆðÀ´¡£

ϱßÊÇÒ»ÕÅÐéÄâ»úºÍdockerµÄ¶Ô±È£¬ÕâÀïҪעÒâһϣºµ«ÊÇdocker±¾Éí²¢²»ÊÇÈÝÆ÷£¬¶øÊÇ´´½¨ÈÝÆ÷µÄ¹¤¾ß£»¶øÐéÄâ»úËü¾ÍÊÇÐéÄâ»úÁË¡£

¶þ¡¢dockerÖеĺËÐĸÅÄî

ÏÂÃæÎÒÃÇÀ´½éÉÜʹÓÃdockerµÄ¹ý³ÌÖбØÐëÒªÕÆÎյĸÅÄÀí½âÕâЩ¸ÅÄî¶ÔdockerµÄʹÓúÍѧϰÊǷdz£±ØÒªµÄ¡£

2.1 ¾µÏñ£¨Image£©

¾µÏñµ½µ×ÊǸöʲô¶«Î÷ÄØ£¬ºÜ¶àÈËÔÚѧϰdockerµÄʱºò¶¼ÊÇһͷÎíË®µÄ£¬¿ÉÊÇÊÇÍá¹ûÈʶԾµÏñÇéÓжÀÖÓ°É£¬ºÃ¶à¶«Î÷¶¼ÓоµÏñµÄ¸ÅÄî¡£±ÈÈçÎÒÃǰ²×°ÏµÍ³µÄ.isoÎļþ£¬Æäʵ¾ÍÊǾµÏñ£¬ÕâÀïÄã¾Í¿ÉÒ԰ѾµÏñÈÏΪÊÇÒ»ÖÖÄ£°å¡£ÎÒÃÇ¿ÉÒÔʹÓÃdocker¸ù¾ÝÕâ¸öÄ£°å´´½¨ÈÝÆ÷À´ÔËÐУ¬Æäʵ¸ü¿ÉÒÔÀí½âΪ¾µÏñÊǺñÈgithubÉϵIJֿâÒ»Ñù£¬ÎÒÃÇ¿ÉÒÔ¿Ë¡ÏÂÀ´Ô´´úÂëÈ»ºóÔËÐУ¬ÔËÐÐÆðÀ´µÄ´úÂë¿ÉÒÔÊÇÒ»¸öÍøÕ¾¡¢Ò»¸öÓ¦ÓóÌÐòɶµÄ£¬Õâ¾Í¿ÉÒÔ½Ð×öÈÝÆ÷¡£Ëµ°×ÁË£¬¾µÏñ¾ÍÊÇÒ»¶Ñ¾²Ì¬µÄÄ£°å£¬ÔËÐÐÆðÀ´µÄ¾µÏñ¾ÍÊÇÈÝÆ÷¡£¾µÏñÒ»°ãÐèÒªÎÒÃÇÀ­È¡ÏÂÀ´£¬ÊÇÖ»¶ÁµÄ£¬Õâ¸öÎÒÃǿˡgithubÉϵIJֿâÊÇÒ»ÑùÒ»ÑùµÄ¡£

docker¾µÏñÖÐÓзֲãµÄ¸ÅÄ¾ÍÊÇÒ»¸ö¾µÏñ¿ÉÄÜ»ùÓںü¸¸ö¾µÏñ£¬±ÈÈçÒ»¸öwebÔËÐл·¾³¿ÉÄÜÐèÒª²Ù×÷ϵͳubuntu¡¢Êý¾Ý¿âmysql¡¢.net core runtimeÔËÐÐʱ£¬ÄÇÎÒÃÇÀ­È¡µÄÕâ¸ö¾µÏñ¾Í»á°üºÃÕâºÃ¼¸¸ö¾µÏñ£¬Õâ¾ÍºÃÏñÎÒÃÇǰ±ß˵µÄ´ò°üºÃµÄÔËÐл·¾³Ò»Ñù£¬Ö±½Ó¾ÍÀ­ÏÂÀ´Ò»¸öСµçÄÔÒ»Ñù¡£

2.2 ÈÝÆ÷£¨Container£©

µ±ÎÒÃÇÀ­È¡ÁËÒ»¸ö¾µÏñ£¬È»ºórunһϣ¬¾Í»á¸ù¾ÝÕâ¸ö¾µÏñÔËÐгöÀ´Ò»¸öÈÝÆ÷£¬ÔËÐеÄÈÝÆ÷¾ÍºÃÏñÎÒÃǵÄÓ¦ÓóÌÐòÒ»Ñù£¬¿ÉÒÔ·ÃÎÊ¿ÉÒÔÍ£Ö¹£¬ÎÒÃÇÔËÓöà´ÎrunÃüÁ¾ÍÔËÐÐÁ˺ܶàºÜ¶àÈÝÆ÷£¬Ò²¿ÉÒÔ˵ÊǾµÏñµÄʵÀý¡£´ÓÕâ¸ö½Ç¶ÈÀ´¿´£¬ÎÒÃÇ¿ÉÒ԰ѾµÏñ¿´×÷ÊÇÀ࣬ÈÝÆ÷¿´×÷new³öÀ´µÄʵÀý£¬Ò²ÊǺܺÏÊʵġ£

2.3 ²Ö¿â£¨Repository£©

´æ·Å¾µÏñµÄµØ·½¾ÍÊDzֿ⣬¾ÍºÃ±È´æ·Å´úÂëµÄµØ·½ÊÇgithubÒ»Ñù£¬ÎÒÃǾͰÑgithub³ÆÎª´úÂëµÄ²Ö¿â£¬githubËãÊÇ×î´óµÄ²Ö¿â¡£ÄÇô´æ·Ådocker¾µÏñµÄµØ·½ÎÒÃǽÐ×ödockerhub£¬ÊÇdockerµÄÖÐÑë²Ö¿â¡£ÆäʵÒѾ­ÓÐdockerhubÕâ¸öÍøÕ¾ÁË£¨https://hub.docker.com/£©£¬Õâ¾ÍÊÇ ´æ·Ådocker¾µÏñµÄ¹Ù·½²Ö¿â£¬ºÃ¶à¹Ù·½µÄÒ²±£´æÔÚÕâÀ±£Ö¤Á˾µÏñµÄ°²È«ÐԺͿɿ¿ÐÔ£¬ÎÒÃÇ¿ÉÒÔ´ÓÉϱßÀ­È¡Ò»Ï¾µÏñÀ´ÔËÐÐÎÒÃǵÄÈí¼þ¡£µ±È»ÎÒÃÇÒ²¿ÉÒÔÖÆ×÷ºÃÎÒÃÇ×Ô¼º¾µÏñÍÆËÍÉÏÈ¥£¬²»¹ýÕâЩ¿Ï¶¨ÊÇÒª¹Ù·½ÉóºËµÄ£¬·ÀÖ¹ÓÐЩÈËдÈëһЩ¶ñÒâ´úÂë¡£²»¹ýÎÒÃÇ¿ÉÒÔÍÆµ½ÎÒÃÇ×Ô¼ºµÄdockerhubÉÏÈ¥£¬¹©ÎÒÃÇ×Ô¼ºÊ¹Óã¬Õâ¸ö¾ÍºÃÎÒÃǵÄgithubÕ˺ÅÒ»ÑùÁË£¬ÊôÓÚ˽ÓоµÏñÁË¡£

2.4 Êý¾Ý¾í£¨Volumn£©

ʵ¼ÊÉÏÎÒÃǵÄÈÝÆ÷¾ÍºÃÏñÊÇÒ»¸ö¼òÒ×°æµÄ²Ù×÷ϵͳ£¬Ö»²»¹ýϵͳÖÐÖ»°²×°ÁËÎÒÃǵijÌÐòÔËÐÐËùÐèÒªµÄ»·¾³£¬Ç°±ß˵µ½ÎÒÃǵÄÈÝÆ÷ÊÇnew³öÀ´µÄʵÀý£¬¼ÈÈ»ÊÇnew³öÀ´µÄʵÀýÄǾͻáÏú»Ù£¬ÄÇÈç¹ûÏú»ÙÁËÎÒÃǵijÌÐò²úÉú³öµÄÐèÒª³Ö¾Ã»¯µÄÊý¾ÝÔõô°ìÄØ£¬ÈÝÆ÷ÔËÐеÄʱºòÎÒÃÇ¿ÉÒÔ½øÈÝÆ÷È¥²é¿´£¬ÈÝÆ÷Ò»µ©Ïú»Ù¾Íʲô¶¼Ã»ÓÐÁË¡£ËùÒÔÊý¾Ý¾í¾ÍÊÇÀ´½â¾öÕâ¸öÎÊÌâµÄ£¬ÊÇÓÃÀ´×öÊý¾Ý³Ö¾Ã»¯µ½ÎÒÃǵÄËÞÖ÷»úÉÏÈÝÆ÷¼äµÄÊý¾Ý¹²Ïí£¬¼òµ¥µÄ˵¾ÍÊǽ«ËÞÖ÷»úµÄĿ¼ӳÉäµ½ÈÝÆ÷ÖеÄĿ¼£¬Ó¦ÓóÌÐòÔÚÈÝÆ÷ÖеÄĿ¼¶ÁдÊý¾Ý»áͬ²½µ½ËÞÖ÷»úÉÏ£¬ÕâÑùÈÝÆ÷²úÉúµÄÊý¾Ý¾Í¿ÉÒԳ־û¯ÁË£¬±ÈÈçÎÒÃǵÄÊý¾Ý¿âÈÝÆ÷£¬¾Í¿ÉÒÔ°ÑÊý¾Ý´æµ½ÎÒÃÇËÞÖ÷»úÉϵÄÕæÊµ´ÅÅÌÉÏÁË¡£

dockerÖлù±¾µÄ¸ÅÄîÒѾ­ËµÁË£¬ÏÂÃæÎÒÃǾͿÉÒÔÀ´Ê¹ÓÃdockerÁË¡£

Èý¡¢dockerµÄ°²×°ÓëʹÓÃ

ÓÉÓÚdockerµÄ·þÎñ¶ËÖ»ÄÜÔËÐÐÔÚlinux²Ù×÷ϵͳÉÏ£¬µ±È»ÎÒÃÇѧϰҲ¿ÉÒÔÓÃwindowsÀ´°²×°docker£¬µ«ÊDZȽÏÂé·³£¬ÐèÒª¿ªÆôһϵÁеÄÅäÖã¬ÎÒÃÇ»¹ÊÇÔÝʱÔÚһ̨װÓÐÐéÄâ»úµÄlinuxϵͳÉÏÀ´Ñ§Ï°docker¡£ÕâÀïÎÒÃÇÒÔlinux ubuntu 16.04 °æ±¾À´Ñ§Ï°¡£

3.1 dockerµÄ°²×°

ÎÒÃÇÏÈÖ´ÐÐÃüÁî°²×°docker

1. Ö´ÐÐ sudo apt-get update ¸üÐÂÈí¼þ°ü

2. Ö´ÐÐ sudo apt-get -y install docker.io °²×°docker

3. ÊäÈë docker version ¼ì²édockerÊÇ·ñ°²×°³É¹¦

Èç¹ûÓÐÏÂÃæµÄÊä³ö£¬ËµÃ÷docker°²×°³É¹¦

3.2 dockerµÄʹÓÃ

docker --help ²é¿´°ïÖúÐÅÏ¢£¬Ò»°ãµÄÈí¼þ¶¼»áÓÐÕâ¸öÃüÁ²»ÔÙ¶à˵¡£

docker version ²é¿´dockerµÄ°æ±¾¡£

docker info ²é¿´dockerµÄ»ù±¾ÐÅÏ¢£¬ÓжàÉÙ¸öÈÝÆ÷¡¢¾µÏñʲôµÄ¡£

docker images ²é¿´±¾»úÉϵÄËùÓоµÏñ¡£

REPOSITORY£º²Ö¿â£¬Ò²ÊǾµÏñÃû³Æ¡£

TAG£º±êÇ©£¬Ò²Êǰ汾ºÅ£¬¾µÏñ»áÓв»Í¬µÄ°æ±¾ºÅ¡£

IMAGE ID£º¾µÏñid£¬¸ù¾ÝÕâ¸öidÎÒÃÇ¿ÉÒÔÇø·Ö²»Í¬µÄ¾µÏñ£¬Ò²¿ÉÒÔ¶Ôij¸ö¾µÏñ½øÐвÙ×÷¡£

CREATED£º´´½¨Ê±¼ä¡£

SIZE£º¾µÏñµÄ´óС¡£

µ±Ç°ÎҵĻúÆ÷ÉÏûÓÐÒ»¸ö¾µÏñ£¬ÏÔʾÈçÏ£º

docker pull <¾µÏñÃû³Æ>:[±êÇ©Ãû³Æ]£ºÀ­È¡¾µÏñ£¬Ä¬Èϲ»Ð´±êÇ©Ãû³ÆÀ­È¡×îеľµÏñ¡£

ÎÒÃÇÊäÈëdocker pull hello-world À­È¡×îеÄhello-world¾µÏñ

docker run <¾µÏñÃû³Æ> £ºÔËÐÐÒ»¸ö¾µÏñ£¬Õâʱºò¾Í±ä³ÉÒ»¸öÈÝÆ÷ÁË£¬Ï൱ÓÚnew Ò»¸öImageÁË¡£Ï±ßÎÒÃÇrun hello-world ÔËÐÐÕâ¸ö¾µÏñ£¬Êä³öÒÔÏÂÐÅÏ¢£º

ÖÁ´Ë£¬ÎÒÃǵÄdockerµÄhello-worldÒѾ­ÔËÐгɹ¦ÁË£¬½ÓÏÂÀ´ÎÒÃÇÀ´Æô¶¯Ò»¸önginx·þÎñÆ÷£¬À´´ÓÍâ±ß·ÃÎÊÎÒÃÇÈÝÆ÷ÀïµÄnginx¿´¿´¡£

ͬÑùÎÒÃÇÏÈÀ­È¡nginx¾µÏñ docker pull nginx£¬È»ºóµÈ´ýÀ­È¡Íê³É£¬ÔËÐÐnginxÈÝÆ÷£¬docker run -p 8080:80 nginx

È»ºóÎÒÃÇÓÃ×Ô´øµÄä¯ÀÀÆ÷À´·ÃÎÊ8080¶Ë¿Ú£¬³öÏÖwelcom to nginx ±íʾÆô¶¯³É¹¦¡£

dockerµÄʹÓ÷½·¨»ù±¾¾ÍÊÇÉϱßÕâÑùÁË£¬½ÓÏÂÀ´ÎÒÃǾͿÉÒÔ¿´Ò»ÏÂÏêϸµÄ²ÎÊý¡£

3.3 dockerµÄÃüÁî

3.3.1 ¾µÏñÃüÁ

docker images ²é¿´±¾»úµÄ¾µÏñ¡£

REPOSITORY£º²Ö¿â£¬Ò²ÊǾµÏñÃû³Æ¡£

TAG£º±êÇ©£¬Ò²Êǰ汾ºÅ£¬¾µÏñ»áÓв»Í¬µÄ°æ±¾ºÅ¡£

IMAGE ID£º¾µÏñid£¬¸ù¾ÝÕâ¸öidÎÒÃÇ¿ÉÒÔÇø·Ö²»Í¬µÄ¾µÏñ£¬Ò²¿ÉÒÔ¶Ôij¸ö¾µÏñ½øÐвÙ×÷¡£

CREATED£º´´½¨Ê±¼ä¡£

SIZE£º¾µÏñµÄ´óС¡£

docker rmi ɾ³ý±¾µØµÄ¾µÏñ£¬¼ÓÉÏÒ»¸ö²ÎÊý-f±íÊ¾Ç¿ÖÆÉ¾³ý£¬ÒòΪÓÐʱºòÈôÓÐÔËÐеÄÏà¹ØÈÝÆ÷µÄʱºòÊDz»ÄÜɾ³ýµÄ£¬È磺docker rmi -f nginx Ç¿ÐÐÍ£Ö¹ÈÝÆ÷²¢É¾³ý¾µÏñ£¬²»¹ÜÊÇ·ñÓÐÕ¼ÓÃÇé¿ö¡£

docker search ¸ù¾Ý¾µÏñÃû³ÆËÑË÷Ô¶³Ì²Ö¿âÖеľµÏñ£¬¿ÉÒÔ¿´Ò»Ï²鵽ËùÓÐÏà¹ØÃû³ÆµÄ¾µÏñ£¬¿ÉÒÔÑ¡ÔñÎÒÃÇÒªÀ­È¡Äĸö¾µÏñ£¬Ï±ßÊÇËÑË÷nignxÏà¹ØµÄ¾µÏñ£¬ºìÉ«²¿·Öok ˵Ã÷Êǹٷ½¾µÏñ¡£

docker pull <¾µÏñÃû³Æ>:[±êÇ©Ãû³Æ]£ºÀ­È¡¾µÏñ£¬Ä¬Èϲ»Ð´±êÇ©Ãû³ÆÀ­È¡×îеľµÏñ¡£

docker push ÍÆË;µÏñ£¬µ±ÎÒÃÇÖÆ×÷ÁËÎÒÃÇ×Ô¼ºµÄ¾µÏñʱ£¬ÎÒÃǾͿÉÒÔÍÆË͵½ÎÒÃÇ×Ô¼ºµÄdocker hubÉÏÈ¥¡£

3.3.2 ÈÝÆ÷ÃüÁî

ÓÐÁ˾µÏñÎÒÃǾͿÉÒÔnewÒ»¸ö¾µÏñʵÀýÁË£¬Ò²¾ÍÊÇÎÒÃÇËù˵µÄÈÝÆ÷¡£

docker run £º»ùÓÚij¸ö¾µÏñÔËÐÐÒ»¸öÈÝÆ÷£¬Èç¹û±¾µØÓÐÕâ¸ö¾µÏñ¾Í¸ù¾Ý±¾µØµÄ¾µÏñ´´½¨£¬Èç¹ûûÓУ¬¾ÍÈ¥Ô¶³ÌÀ­È¡Ò»¸ö¾µÏñÔÙ´´½¨£¬²ÎÊýÈçÏ£º

-d£ºÆô¶¯Ò»¸öÈÝÆ÷£¬ºǫ́ÔËÐУ¬²»»áÕ¼ÓÃÎÒÃǵ±Ç°µÄ¿ØÖÆÌ¨£¬Ò»°ã¶¼Òª¼ÓÉÏ£¬Ö®Ç°ÎÒÃÇÆô¶¯nginxûÓÐÖ¸¶¨Õâ¸ö²ÎÊý£¬¾Í»áÕ¼Óõ±Ç°¿ØÖÆÌ¨£¬»áÒ»Ö±¹ÒÆð£¬ÓÐÁËÕâ¸öÃüÁî¾Í²»»áÕ¼ÓÃÁË¡£

-i£ºÒÔ½»»¥Ä£Ê½ÔËÐÐÈÝÆ÷£¬Í¨³£»áºÍ-tÒ»ÆðÀ´Ê¹Óã¨-it£©¡£

-t£ºÎªÈÝÆ÷Ò²´´½¨Ò»¸öÃüÁîÐд°¿Ú£¬ÊÇÈÝÆ÷ÄÚÈݵÄÃüÁîÐд°¿Ú£¬±ÈÈçÎÒÃÇÀ­È¡Ò»¸öubuntuµÄ¾µÏñ£¬ÎÒÃÇÏëÒªÔÚÕâ¸ö²Ù×÷ϵͳ¾µÏñÀï±ßÖ´ÐÐһЩÃüÁÄǾÍÐèÒªÕâ¸ö²ÎÊýÁË¡£

-P£ºÕâ¸öÊÇ´óдµÄP£¬Ö¸¶¨ËÞÖ÷»úµÄËæ»ú¶Ë¿ÚÓ³Éäµ½ÈÝÆ÷ÄÚ²¿µÄ¶Ë¿Ú¡£

-p£ºÕâ¸öÊÇСдµÄp£¬Ö¸¶¨Ä³¸ö¾ßÌå¶Ë¿ÚÓ³Éäµ½ÈÝÆ÷ÄÚ²¿¶Ë¿Ú£¬±ÈÈçǰ±ßÎÒÃÇÓÃ-p 8080:80£¬¾ÍÊÇÈÃËÞÖ÷»úµÄ8080¶Ë¿ÚÓ³Éäµ½ÈÝÆ÷ÄÚµÄ80¶Ë¿Ú£¬ÕâÑùÎÒÃǾͿÉÒÔÔÚÍⲿÓÃ8080¶Ë¿Ú·ÃÎÊÎÒÃÇÈÝÆ÷ÄÚ²¿µÄnginxÁË£¨Ä¬ÈÏÈÝÆ÷±ØÐëÓÐÒ»¸öÍⲿµÄÓ³Éä¶Ë¿Ú£¬²»È»·ÃÎʲ»ÁË£©¡£

-v£ºÖ¸¶¨ËÞÖ÷»úÓëÈÝÆ÷ÄÚ²¿µÄĿ¼ӳÉ䣬¾ÍÊÇ֮ǰµÄÊý¾Ý¾íËùÐèÒªµÄ²ÎÊý£¬ºÃʵÏÖÊý¾ÝµÄ³Ö¾Ã»¯ºÍͬ²½¡£

--name="mynginx"£ºÎªÈÝÆ÷Ö¸¶¨Ò»¸öÃû³Æ£¬Èç¹ûûÓÐÖ¸¶¨£¬ÄǾͷÖÅäÒ»¸öËæ»úÃû³Æ¡£

ÏÂÃæÓòÎÊýÖØÆôÆô¶¯ÎÒÃǵÄnginx¾µÏñ£ºdocker run -itd -p 8848:80 --name="mynginx" nginx

docker ps ÏÔʾÕýÔÚÔËÐеÄÈÝÆ÷£¬¼ÓÒ»¸ö²ÎÊý-a ¿ÉÒÔ¿´µ½Í£Ö¹ÖеÄÈÝÆ÷

docker stop Í£Ö¹ÈÝÆ÷ ¡£

docker kill Ç¿ÖÆÍ£Ö¹ÈÝÆ÷¡£

docker restart ÖØÆôÈÝÆ÷¡£

docker rm ɾ³ýÈÝÆ÷£¬É¾³ýºóÈÝÆ÷¾Í²»ÔÚÁË£¬¾Í²»ÄÜÖØÆôºÍÍ£Ö¹ÁË¡£

docker inspect ²é¿´ÈÝÆ÷µÄÏêϸÐÅÏ¢¡£

ÒÔÉϾÍÊDz¶àÎÒÃdz£ÓõÄÃüÁ¾ßÌåµÄÆäËû¸ü¶àµÄ¹¦ÄÜÎÒÃÇ¿ÉÒԲ鿴¹Ù·½Îĵµ https://docs.docker.com/get-started/¡£

ËÄ¡¢Dockerfile

Éϱ߶¼ÊÇÎÒÃÇÀ­È¡±ðÈ˵ľµÏñ£¬ÎÒÃÇʵ¼ÊÉÏÒ²¿ÉÒÔÖÆ×÷×Ô¼ºµÄרÊô¾µÏñ£¬¸ù¾ÝÎÒÃǵÄÐèÒª£¬ÅäÖúÃÎÒÃÇ×Ô¼ºµÄ¾µÏñÀ´Ê¹Óá£Dockerfile¾ÍÊÇÓÃÀ´¹¹½¨ÎÒÃǵľµÏñµÄÎļþ£¬ÔÚÀï±ß¿ÉÒÔдһЩÃüÁîÀ´¹¹½¨ÎÒÃǵľµÏñ£¬¹¹½¨ºÃºó·¢²¼µ½docker hub¾Í¿ÉÒÔ¹©±ðÈËÀ­È¡Ê¹ÓÃÁË¡£

DockerfileÊÇÒ»¸öûÓкó׺ÃûµÄÎı¾Îļþ£¬ÎÒÃÇͨ¹ýдÈëһЩÃüÁîÀ´ÊµÏÖ¾µÏñµÄ¹¹½¨¡£ÏÂÃæÎÒÃÇÏÈÀ´¿´¿´DockerfileÊÇÔõÑùÀ´±àдµÄ¡£Ï±ߵÄÃüÁî±êʶÐÎʽ<> ´ú±íÐèÒªµÄ²ÎÊý£¬[ ] ÊÇ¿ÉÑ¡²ÎÊý¡£

FROM£ºÖ¸¶¨»ù´¡¾µÏñ£¬ËùÓй¹½¨µÄ¾µÏñ¶¼±ØÐëÓÐÒ»¸ö»ù´¡¾µÏñ£¬ÇÒFROMÃüÁî±ØÐëÊÇDockerfileµÄµÚÒ»¸öÃüÁî¡£

FROM <image> [AS <name>] Ö¸¶¨´ÓÒ»¸ö¾µÏñ¹¹½¨ AS ÆðÒ»¸öеľµÏñÃû×Ö¡£

FROM <image>[:<tag>] [AS <name>] Ö¸¶¨¾µÏñµÄ°æ±¾tag¡£

ÀýÈ磺FROM mysql:5.0 AS database

MAINTAINER£º¾µÏñά»¤È˵ÄÐÅÏ¢¡£

MAINTAINER <name>

ÀýÈ磺MAINTAINER haha lsdjfl@163.com

RUN£º¹¹½¨¾µÏñʱҪִÐеÄÃüÁî¡£

RUN <command>

ÀýÈ磺RUN ["executable", "param1", "param2"] RUN ["dotnet restore","*.csproj"]

ADD£º½«±¾µØµÄÎļþÌí¼Ó¸´ÖƵ½ÈÝÆ÷ÖÐÈ¥£¬Ñ¹Ëõ°ü»á½âѹ£¬¿ÉÒÔ·ÃÎÊÍøÂçÉϵÄÎļþ£¬»á×Ô¶¯ÏÂÔØ¡£

ADD <src> <dest>

ÀýÈ磺ADD *.csproj /app Ìí¼ÓcsprojÎļþµ½ÈÝÆ÷ÖеÄappĿ¼Ï¡£

COPY£º¹¦ÄܺÍADDÒ»Ñù£¬µ«ÊÇÖ»ÊǸ´ÖÆ£¬²»»á½âѹ»òÕßÏÂÔØÎļþ¡£

CMD£ºÆô¶¯ÈÝÆ÷ºóÖ´ÐеÄÃüÁºÍRUN²»Ò»Ñù£¬RUNÊÇÔÚ¹¹½¨¾µÏñÊÇÒªÔËÐеÄÃüÁî¡£µ±Ê¹ÓÃdocker runÔËÐÐÈÝÆ÷µÄʱºò£¬Õâ¸ö¿ÉÒÔÔÚÃüÁîÐб»¸²¸Ç¡£

CMD ["executable", "param1", "param2"]

ENTRYPOINT£ºÒ²ÊÇÖ´ÐÐÃüÁºÍCMDÒ»Ñù£¬Ö»ÊÇÕâ¸öÃüÁî²»»á±»ÃüÁîÐи²¸Ç¡£

ENTRYPOINT ["executable", "param1", "param2"]

ÀýÈ磺ENTRYPOINT ["donnet", "myapp.dll"]

LABEL£ºÎª¾µÏñÌí¼ÓÔªÊý¾Ý£¬key-valueÐÎʽµÄ¡£

LABEL <key>=<value> <key>=<value> <key>=<value> ....

ÀýÈ磺LABEL version="1.0" description="ÕâÊÇÒ»¸öwebÓ¦ÓÃ"

ENV£ºÉèÖû·¾³±äÁ¿£¬ÓÐЩÈÝÆ÷ÔËÐÐʱ»áÐèҪijЩ»·¾³±äÁ¿ ±ÈÈ磺JAVA_HOME¡£

ENV <key> <value> Ò»´ÎÉèÖÃÒ»¸ö»·¾³±äÁ¿¡£

ENV <key>=<value> <key>=<value> <key>=<value> .... ÉèÖöà¸ö»·¾³±äÁ¿¡£

ÀýÈ磺ENV JAVA_HOME /usr/java1.8/

EXPOSE£º±©Â¶¶ÔÍâµÄ¶Ë¿Ú¡£

EXPOSE <port>

ÀýÈ磺EXPOSE 80

ÕâÀïÖ¸µÄÊÇÈÝÆ÷ÄÚ²¿³ÌÐòµÄ¶Ë¿Ú£¬ËäÈ»»áºÍËÞÖ÷»úµÄÒ»Ñù£¬µ«ÊÇÆäʵÊÇÁ½¸ö¶Ë¿Ú£¬ÈÝÆ÷ÔËÐÐʱ£¬ÐèÒªÓÃ-p Ó³ÉäÍⲿ¶Ë¿Ú²ÅÄÜ·ÃÎʵ½ÈÝÆ÷ÄڵĶ˿ڡ£

VOLUME£ºÖ¸¶¨Êý¾Ý³Ö¾Ã»¯µÄĿ¼£¬¹Ù·½ÓïÑÔ½Ð×ö¹ÒÔØ¡£

VOLUME /var/log Ö¸¶¨ÈÝÆ÷ÖÐÐèÒª±»¹ÒÔØµÄĿ¼£¬»á°ÑÕâ¸öĿ¼ӳÉäµ½ËÞÖ÷»úµÄÒ»¸öËæ»úĿ¼ÉÏ£¬ÊµÏÖÊý¾ÝµÄ³Ö¾Ã»¯ºÍͬ²½¡£

VOLUME ["/var/log","/var/test".....] Ö¸¶¨ÈÝÆ÷Öжà¸öÐèÒª±»¹ÒÔØµÄĿ¼£¬»á°ÑÕâЩĿ¼ӳÉäµ½ËÞÖ÷»úµÄ¶à¸öËæ»úĿ¼ÉÏ£¬ÊµÏÖÊý¾ÝµÄ³Ö¾Ã»¯ºÍͬ²½¡£

VOLUME /var/data var/log Ö¸¶¨ÈÝÆ÷ÖеÄvar/logĿ¼¹ÒÔØµ½ËÞÖ÷»úÉϵÄ/var/dataĿ¼£¬ÕâÖÖÐÎʽ¿ÉÒÔÊÖ¶¯Ö¸¶¨ËÞÖ÷»úÉϵÄĿ¼¡£

WORKDIR£ºÉèÖù¤×÷Ŀ¼£¬ÉèÖÃÍ깤×÷Ŀ¼֮ºó £¬ÉϱߵÄRUN¡¢CMD¡¢COPY¡¢ADDµÈµÄ¹¤×÷Ŀ¼¶¼±ä³ÉÕâ¸öÁË¡£

WORKDIR <path>

ÀýÈ磺WORKDIR /app/test

USER£ºÖ¸¶¨ÔËÐÐÃüÁîʱËùʹÓõÄÓû§£¬ÎªÁ˰²È«ºÍȨÏÞÆð¼û£¬ÓеÄÓû§¿ÉÄÜȨÏ޸ߣ¬ÓеÄÓû§¿ÉÄÜȨÏ޵ͣ¬¸ù¾ÝÒªÖ´ÐеÄÃüÁîÑ¡Ôñ²»Í¬µÄÓû§¡£

USER <user>:[<group>]

ÀýÈ磺USER test

ARG£ºÉèÖù¹½¨¾µÏñÊÇÒª´«µÝµÄ²ÎÊý¡£

ARG <name>[=<value>]

ÀýÈ磺ARG name=sss

ÒÔÉÏÊDz¶à¹¹½¨DockerfileʱËùʹÓõÄÃüÁîµÄ£¬¹¹½¨Ê±ÃüÁîÊÇ´ÓÉϵ½ÏÂ˳ÐòÖ´Ðеģ¬¿ÉÄܺó±ßµÄÃüÁîÐèҪǰ±ßÃüÁîµÄ½á¹û£¬Ê¹Óà docker build ±àÒëDockerfile ¾Í¿ÉÒÔ¹¹½¨ÎÒÃǵľµÏñÁË¡£

docker build ¿ÉÒÔʹÓòÎÊý -f Ö¸¶¨DockerfileµÄĿ¼£¬Ä¬ÈÏÊÇÔÚµ±Ç°Ä¿Â¼ÏÂÕÒ£»-t Ö¸¶¨¹¹½¨µÄ¾µÏñµÄÃû³ÆºÍ±êÇ©£¬ÀýÈ磺docker build -f ./aa/bb -t myimage:1.0

Îå¡¢¹¹½¨ÎÒÃÇ×Ô¼ºµÄ¾µÏñ

ÓÐÁËÉÏÃæµÄ»ù´¡£¬ÎÒÃǾͿÉÒÔ¹¹½¨ÎÒÃÇ×Ô¼ºµÄ¾µÏñÁË£¬È»ºó»¹¿ÉÒÔÉÏ´«µ½ÎÒÃÇ×Ô¼ºµÄdocker hubÉϹ©±ðÈËÀ­È¡Ê¹Ó᣽ÓÏÂÀïÎÒÃǾÍÀ´ÊµÏÖÒÔÏ¡£ÕâÀï²Î¿¼Á˹ٷ½µÄ¹¹½¨²½Ö裺https://docs.docker.com/engine/examples/dotnetcore/

5.1 ´´½¨Ò»¸ömvcÏîÄ¿

Ê×ÏÈÕÒÒ»¸öĿ¼£¬´´½¨Ò»¸öÎļþ¼ÐDockerDemo£¬È»ºóÔÚ¸ÃĿ¼ÏÂÖ´ÐÐÃüÁîdotnet new mvc£¬´´½¨ÎÒÃǵÄmvc³ÌÐò£¬ÈçÏ£º

5.2 Ìí¼ÓDockerfileÎļþ

ÎÒÃÇÖ±½ÓÌí¼ÓÒ»¸öÃû³ÆÎªDockerfileµÄÎļþ£¬È»ºóÊäÈëÒ»ÏÂÃüÁ

#¹¹½¨sdk¾µÏñ£¬ÊÇΪÁ˽øÐбàÒë¡¢·¢²¼ÎÒÃǵÄwebÓ¦ÓÃ
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
# ÔÚÈÝÆ÷ÖÐÉèÖÃÒ»¸ö/appĿ¼
WORKDIR /app
# ¸´ÖÆcsprojÎļþ µ½µ±Ç°Ä¿Â¼Ï£¨appĿ¼Ï£© ²¢Ö´ÐÐdotnet restore »¹Ô­°ü
COPY *.csproj ./
RUN dotnet restore
# ÔÙ¸´ÖÆÆäËûÊ£ÓàµÄÎļþµ½µ±Ç°Ä¿Â¼£¬Ö´Ðз¢²¼ÃüÁÓÃReleaseģʽ ²¢ÇÒÊä³öµ½outÎļþ¼Ð
COPY . ./
RUN dotnet publish -c Release -o out

#¹¹½¨ÔËÐÐʱ¾µÏñ
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
# ÉèÖÃÔËÐÐʱ¾µÏñÒ»¸ö/appĿ¼
WORKDIR /app
# ¸´ÖÆÖ®Ç°µÄ¾µÏñµÄ²úÎïÖÐµÄ /app/outĿ¼ÏµÄÎļþ µ½µ±Ç°Ð¾µÏñµÄ /app¼Ï£¨µ±Ç°Ä¿Â¼£©
COPY --from=build-env /app/out .
# Ö´ÐÐdotnet ÃüÁÔËÐÐÎÒÃǵÄwebÓ¦ÓÃ
ENTRYPOINT ["dotnet", "DockerDemo.dll"]

ÎÒÓÃvscodeÌí¼ÓDockerfileÖ±½Ó±ä³ÉÁËÒ»¸ö¾¨ÓãµÄͼ±ê£¬ËµÃ÷ÊÇÒ»¸öDockerÎļþ£¬»¹ÓиßÁÁ£º

5.3 ¹¹½¨Docker¾µÏñ

ÎÒÃÇÖ±½Ó°ÑDockerDemoÕâ¸öÎļþ¼ÐÖ±½Ó¸´ÖƵ½ÐéÄâ»úÖУ¬ÎÒ¸´ÖƵ½ÁËDesktopÏ£º

È»ºó½øÈëµ½DockerDemoĿ¼Ï£¬Ö±½ÓÖ´ÐÐÃüÁî docker build -t dockerdemo . £¬Õâ¾äÃüÁîµÄÒâ˼ÊÇ Ê¹Óõ±Ç°Ä¿Â¼ÏµÄDockerfile¹¹½¨¾µÏñdockerdemo£¬×¢Òâ¹¹½¨µÄ¾µÏñÃû³Æ±ØÐëΪСд£¬·ñÔò»á±¨´í¡£

È»ºó¾ÍÊǵȴý¹¹½¨ÁË£¬¿ÉÄÜ»á±È½ÏÂý£¬ Èç¹ûÏë¿ìµÄ»°£¬¿ÉÒÔ»»³É¹úÄڵľµÏñÔ´£¬ÕâÀï¾Í²»ËµÁË£¬ÒòΪÎÒÒ²ÀÁµÃ»»¡£

Õâ´Î¹¹½¨¹ý³Ì»á·ÖΪÁ½²½£¬ÒòΪÓÐÁ½¸ö¾µÏñ£¬¹¹½¨Íê³Éºó£¬ÎÒÃÇʹÓÃdocker images ²é¿´£¬»á·¢ÏÖÓÐÎÒÃÇй¹½¨µÄ¾µÏñdockerdemo£º

5.4 ÔËÐÐÈÝÆ÷

½ÓÏÂÀ´ÎÒÃÇÊäÈëÃüÁî docker run -d -p 8848:80 --name myapp dockerdemo£¬ÔËÐÐÒ»¸öÈÝÆ÷£¬Ãû³Æ½Ð×ömyapp

ʹÓÃdocker ps ²é¿´ÔËÐÐÖеÄÈÝÆ÷£º

5.5 ·ÃÎÊÎÒÃǵÄmvc³ÌÐò

ÔÚÐéÄâ»úµÄä¯ÀÀÆ÷ÖÐÊäÈë http://localhost:8848£¬»òÕßÔÚÄãµÄµçÄÔÉÏÊäÈëÐéÄâ»úµÄµØÖ·À´·ÃÎÊ http://192.168.226.130:8848/ £¨Õâ¸öÊÇÎҵĵØÖ·£©£¬ÏÔʾÈçÏ£¬±íÃû³É¹¦£º

Áù¡¢·¢²¼¾µÏñ

ÎÒÃÇÒѾ­¹¹½¨ºÃÁËÎÒÃǵľµÏñ£¬½ÓÏÂÀ´ÎÒÃǾͰѾµÏñÍÆË͵½ÎÒÃÇ×Ô¼ºµÄdocker²Ö¿âÖÐÈ¥£¬ÕâÒ»²½ºÍgithubÊÇÍêȫһÑùµÄ£¬¾ÍÏñ°ÑÎÒÃǵĴúÂëÍÆË͵½githubÉÏÒ»Ñù¡£

6.1 ´´½¨Õ˺Å

Ê×ÏÈ£¬ÎÒÃÇÐèÒª´´½¨Ò»¸ödockerhubÕ˺ţ¬µÇ¼https://hub.docker.com/£¬¸ù¾ÝÌáʾע²áÕ˺ţ¬ÕâÒ»²½¾Í²»Ï¸ËµÁË¡£

6.2 怬

ÃüÁîÐÐÊäÈëdocker login£¬ÊäÈëÎÒÃǵÄÕ˺ÅÃÜÂ룬½øÐеǼ¡£

6.3 ÍÆË;µÏñ

ÍÆË;µÏñ֮ǰ£¬Ê×ÏÈÒª±ê¼ÇÎÒÃǵľµÏñ£¬Ò²¾ÍÊǸøÎÒÃǵľµÏñÆðÒ»¸öÃû×Ö£¬Ê¹ÓÃÃüÁî docker tag <image> <username>/<repository>:<tag>£¬Ï±ßÎÒÃǾͱê¼ÇÎÒÃǸղŵÄdockerdemoµÄ¾µÏñ£º

ʹÓÃÃüÁî docker tag dockerdemo emmaccc/dockerdemo:1.0.0

²é¿´ÎÒÃǸղűê¼Ç¹ýµÄ¾µÏñ£º

ʹÓÃÃüÁî docker push emmaccc/dockerdemo:1.0.0 ÍÆË;µÏñ£¬µÈ´ýÒ»¶Îʱ¼äºóÍÆËͳɹ¦£¬¾Í¿ÉÒÔÔÚ×Ô¼ºdockerhubÕ˺ÅÉÏ¿´¼ûÁË

6.4 ʹÓþµÏñ

ÍÆËͳɹ¦Ö®ºó£¬ÎÒÃǾͿÉÒÔÔÚÈÎÒâһ̨°²×°ÁËdockerµÄ¼ÆËã»úÉÏÀ´À­È¡ÎÒÃǾµÏñ£¬Ö±½ÓrunÆô¶¯ÎÒÃǵÄwebÓ¦ÓÃÁË¡£

docker run -p 4396:80 emmaccc/dockerdemo:1.0.0£¬ÔËÐÐÖ®ºó£¬ÎÞÐèµ£Ðĸ÷ÖÖÒÀÀµ¡¢ÅäÖã¬Ò²²»ÓÃÔÚÄãµÄÐÂÖ÷»úÉϰ²×°Èκζ«Î÷£¬Ö±½ÓrunÔËÐоÍÐÐÁË£¬ÕâÒ²docker¶ÀÌØµÄ÷ÈÁ¦ËùÔÚ¡£

Áù¡¢×ܽá

ѧϰdocker£¬Ç°Ç°ºóºó¿´Á˺ü¸±é£¬¾¿¾¹ÊǸöÊ²Ã´ÍæÒâ°¡£¬ºÃ°ëÌì²Å¿´¶®£¬dockerµÄ»ù±¾Ê¹ÓþͲ¶àÁË£¬½ÓÏÂÀ´¹À¼ÆÓÖÊÇk8sÁË£¬°¦£¬¶«Î÷Õæ¶à£¬¸Ð¾õÈ«it½ç¶¼ÔÚÔìÂÖ×Ó°É£¬·ÇÒª¸ãÕâ¸ö¸ãÄǸö£¬Ã»°ì·¨£¬»¹Êǵøú×Å´óÀÐÃÇ×ߣ¬Èç¹ûÄãÕæµÄ»¹²»Ã÷°×£¬ÄǾÍËÍÄãÒ»¾ä»°¡£

web·ÅtomcatÀtomcat·ÅdockerÀdocker·Åk8sÀk8s·Å²Ù×÷ϵͳÉÏ£¬ÈÆÁËÒ»´óȦ£¬³¶µ­ÄØ£¬Õ¦²»Ö±½Óweb·Å²Ù×÷ϵͳÉÏÖ±½ÓÔËÐÐÄØ¡£

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

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

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

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
ÔÆÔ­Éú¼Ü¹¹¸ÅÊö
K8S¸ß¿ÉÓü¯Èº¼Ü¹¹ÊµÏÖ
ÈÝÆ÷ÔÆ¹ÜÀíÖ®K8S¼¯Èº¸ÅÊö
k8s-ÕûÌå¸ÅÊöºÍ¼Ü¹¹
Ê®·ÖÖÓѧ»áÓÃdocker²¿Êð΢·þÎñ
×îпγÌ
ÔÆ¼ÆË㡢΢·þÎñÓë·Ö²¼Ê½¼Ü¹¹
Æóҵ˽ÓÐÔÆÔ­ÀíÓë¹¹½¨
»ùÓÚKubernetesµÄDevOpsʵ¼ù
ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦Ó㨰¢ÀïÔÆ£©
Docker²¿Êð±»²âϵͳÓë×Ô¶¯»¯¿ò¼Üʵ¼ù
³É¹¦°¸Àý
±±¾© ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ùÅàѵ
ij¾ü¹¤Ñо¿µ¥Î» MDA£¨Ä£ÐÍÇý¶¯¼Ü¹¹£©
ÖªÃûÏû·Ñ½ðÈÚ¹«Ë¾ ÁìÓòÇý¶¯Éè¼Æ
ÉîÛÚijÆû³µÆóÒµ Ä£ÐÍÇý¶¯µÄ·ÖÎöÉè¼Æ