±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÁËʲôÊÇ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·Å²Ù×÷ϵͳÉÏÖ±½ÓÔËÐÐÄØ¡£ |