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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Ò»ÎÄÕÆÎÕ´Ó¿ª·¢µ½²¿Êð»áÓõ½µÄ Docker ÃüÁî
 
·­Ò룺±ß³Ç ·¢²¼ÓÚ£º 2017-10-30
  2363  次浏览      27
 

±¾ÎĵÄÄ¿µÄÊÇÀí½âÈÝÆ÷¿ª·¢ÔÚÄ¿±ê»·¾³Öв¿ÊðµÄ¶Ëµ½¶ËÁ÷³Ì£¬²¢ÁгöÕâЩ²Ù×÷ËùÐèµÄ Docker ÃüÁî¡£

1½éÉÜ

Õû¸öÁ÷³Ì°üÀ¨Ê¹ÓôúÂë¡¢ÒÀÀµÈí¼þºÍÅäÖÃÀ´¿ª·¢ÈÝÆ÷Ó³Ïñ£¬ÔÚ¿ª·¢»·¾³ÖÐÔËÐкͲâÊÔÈÝÆ÷£¬½«ÈÝÆ÷Ó³Ïñ·¢²¼µ½ Docker Hub£¬ÒÔ¼°×îºóµÄ²¿ÊðºÍÔÚÄ¿±ê»·¾³ÖÐÔËÐÐÈÝÆ÷¡£

±¾ÎļÙÉèÄúÒѾ­ÔÚ¿ª·¢ºÍÄ¿±ê»·¾³Öа²×°ÁË Docker ÒýÇæ¡£Óйذ²×°ËµÃ÷Çë²ÎÔÄ 6.3 >> https://docs.docker.com/engine/installation/¡£

2¿ª·¢ÈÝÆ÷Ó³Ïñ

ÔÚ¹¹½¨ÈÝÆ÷Ó³Ïñ֮ǰ£¬ÄãÐèÒª´´½¨Ò»¸ö dockerfile£¬Ëü°üº¬ÁËËùÐèÒªµÄÐÅÏ¢¡£Çë²Î¿¼ÕâÀïhttps://nodejs.org/en/docs/guides/nodejs-docker-webapp/À´±àÖÆÒ»¸ö dockerfile¡£

2.1¹¹½¨ Docker ÈÝÆ÷

$docker build -t containername .

Õâ¸öÃüÁî»áʹÓõ±Ç°Ä¿Â¼Ï嵀 Dockerfile¡£Èç¹û dockerfile ʹÓÃÁËÆäËüÎļþÃû»òÕß·ÅÔÚÆäËüλÖ㬿ÉÒÔʹÓà -f ²ÎÊýÀ´Ö¸¶¨ dockerfile µÄÃû³Æ¡£¡°docker build¡± ÃüÁî»á¹¹½¨ÈÝÆ÷Ó³Ïñ£¬Õâ¸öÈÝÆ÷Ó³ÏñµÄÃû³ÆÓÉ ¡°-t¡± ²ÎÊýÖ¸¶¨¡£

$docker build -t myapp .

2.2Docker Ó³ÏñÃüÃû¹æ·¶

Èç¹ûÄãÖ»ÊÇÔÚ±¾µØÊ¹Óã¬ÄÇôÄã¿ÉÒÔËæÒâΪ Docker ÈÝÆ÷ÃüÃû¡£Ëü¿ÉÒÔÏñÉÏÃæÄDZ߼òµ¥µÄÃüÃûΪ¡°myApp¡±¡£µ«ÊÇÈç¹ûÄãÏ뽫ӳÏñ·¢²¼µ½ Docker Hub£¬¾ÍÐèÒª×ñÑ­ÌØ¶¨µÄÃüÃû¹æ·¶¡£Õâ¸ö¹æ·¶ÓÐÖúÓÚ Docker ¹¤¾ß½«ÈÝÆ÷Ó³Ïñ·¢²¼µ½ÕýÈ·µÄÃüÃû¿Õ¼äºÍ²Ö¿â¡£

¸ñʽÈçÏ£º

NameSpace/Repository:Version

ÏÖÔÚÎÒÃǰ´ÉÏÃæµÄ¹æ·¶À´¹¹½¨ Docker Ó³Ïñ£º

$docker build -t saravasu/techietweak:001 .

ÎÒÃÇ¿ÉÒÔʹÓá°docker tag¡±ÃüÁî´ÓÒѾ­´æÔÚµÄÓ³Ïñ´´½¨ÐµÄÓ³Ïñ¡£¡°docker tag¡±ÃüÁî»áÔÚÏÂÃæËµÃ÷¡£

2.3Áгö Docker ÖÐËùÓÐÓ³Ïñ

$docker images

3ÔËÐÐÈÝÆ÷

3.1Æô¶¯ Docker ÈÝÆ÷

ʹÓá°docker run¡±ÃüÁîÀ´Æô¶¯ Docker ÈÝÆ÷¡£

$docker run -d -p 8080:8080 saravasu/techietweak:001

¡°-d¡± ²ÎÊý»áÈÃÈÝÆ÷ÒÔ¶ÀÁ¢µÄģʽÀ´ÔËÐÐÈÝÆ÷£¬ÕâÑù¼´Ê¹Öն˹رÕÁËÈÝÆ÷ÈÔÈ»»á±£³ÖÔËÐС£

¡°-p¡± ÓÃÓÚÓ³ÉäÈÝÆ÷¡£±ÈÈ磬¡°-p 8080:8080¡± µÄµÚÒ»¸ö¶Ë¿ÚºÅÓÃÔÚ Docker Ö÷»úÉÏ£¬µÚ¶þ¸ö¶Ë¿ÚºÅÊÇÔÚ Docker ÈÝÆ÷ÖÐʹÓõġ£¸ù¾ÝÕâ¸ö²ÎÊýµÄÉèÖã¬ËùÓÐ¶Ô Docker Ö÷»ú¶Ë¿ÚµÄÊý¾Ý´«Êä¶¼»á±»×ª·¢µ½¶ÔÓ¦µÄ Docker ÈÝÆ÷¶Ë¿Ú¡£

3.2²é¿´ÔËÐÐÖеÄÈÝÆ÷

$docker ps

´ÓÉÏÃæµÄÊä³öÎÒÃÇ¿ÉÒÔ¿´µ½ Docker ÈÝÆ÷ÒÔ ¡°trusting_snyder¡± Õâ¸öÃû×ÖÔÚÔËÐС£

Èç¹ûÒªÁгöËùÓÐÈÝÆ÷£¬¶ø²»¹ÜÆä״̬ÈçºÎ£¬Ê¹Óà ¡°-a¡± ²ÎÊý¡£

$docker ps -a

3.3ÏÔʾÔËÐÐÖÐÈÝÆ÷µÄ¿ØÖÆÌ¨ÈÕÖ¾

$docker logs <containerName>

ContainerName£¨ÈÝÆ÷Ãû³Æ£© ¿ÉÒÔͨ¹ý ¡°docker ps¡± ÃüÁîÕÒµ½¡£

3.4µÇÈëÈÝÆ÷

$docker exec -it containerId /bin/bash

ÉÏÃæµÄÃüÁî»áÓÃÈÝÆ÷ÖÐµÄ ¡°bash¡± shell ¸ø³öÌáʾ¡£

3.5Í£Ö¹ÈÝÆ÷ÔËÐÐ

$docker stop <containername>

3.6´Ó Docker ÖÐɾ³ýÈÝÆ÷Ó³Ïñ

$docker rm imageId

ʹÓà ¡°docker images¡± »ò ¡°docker images -a¡± ÃüÁîÕÒµ½ imageId£¨Ó³Ïñ ID£©¡£

$docker rmi -f <List Of Image Ids>

ÉÏÃæµÄÃüÁî»áÇ¿ÖÆÉ¾³ýÖ¸¶¨µÄÓ³Ïñ¡£

3.7ÇåÀí Docker / ɾ³ý±¾µØ Docker ÖÐËùÓÐÈÝÆ÷Ó³Ïñ

$docker rmi -f $(docker images | tr -s ' ' ' ' | cut -d' ' -f3)

4·¢²¼ÈÝÆ÷Ó³Ïñ

Docker ÈÝÆ÷Ó³Ïñ¿ÉÒÔ·¢²¼µ½±¾µØ¿â»ò¹«¹²µÄ Docker Hub¡£Á½ÖÖÇé¿öËùʹÓõÄÃüÁîµÄ²Ù×÷¹ý³ÌÒ»Ñù¡£ÎªÁ˽«ÄãµÄ Docker Ó³Ïñ·¢²¼µ½ Docker Hub£¬ÄãµÃÏÈÔÚ http://hub.docker.com ´´½¨×Ô¼ºµÄÃüÃû¿Õ¼äºÍ²Ö¿â¡£

ÎÒ×Ô¼ºµÄÃüÃû¿Õ¼äÊÇ ¡°saravasu¡±£¬µ±Ç°Á·Ï°Ê¹ÓõIJֿâÊÇ ¡°techietweak¡±¡£

4.1怬 Docker Hub

$docker login

Èç¹ûÄãÏëµÇ¼±¾µØ¿â£¬ÇëÏÈÌṩ URL¡£Èç¹ûûÓÐÖ¸¶¨ URL£¬ÄÇôÕâ¸öÃüÁî»áµÇ¼ Docker Hub¡£

$docker login http://localhost:8080

4.2±ê¼ÇÈÝÆ÷Ó³Ïñ

ÔÚ°ÑÈÝÆ÷Ó³ÏñÍÆË͵½ Docker Hub ֮ǰ£¬±ØÐë°´Ö¸¶¨µÄ¸ñʽ¶ÔÆä½øÐбê¼Ç£º<Namespace>/<Repository>:<Version>¡£Èç¹ûÄãûÓÐÖ¸¶¨°æ±¾£¨version£©£¬Ëü»áʹÓÃĬÈ쵀 ¡°default¡±¡£ÏÂÃæµÄÃüÁîÑÝʾÁ˱ê¼ÇÓ³Ïñ£º

$docker tag myapp:latest saravasu/techietweak:001

4.3½« Docker Ó³ÏñÍÆË͵½ Docker Hub

$docker push saravasu/techietweak:001

4.4ÔÚ Docker Hub Öмì²éÈÝÆ÷Ó³Ïñ

ÏÖÔÚʹÓÃÄãµÄÕ˺ŵǼ Docker Hub ²¢¼ì²éÓ³ÏñµÄ²Ö¿âÖнøÐмì²é¡£

5²¿ÊðÈÝÆ÷

5.1À­È¡ Docker ÈÝÆ÷Ó³Ïñ

ÔÚÖ÷»úµÄÄ¿±ê»·¾³ÖеǼ Docker Hub ²¢´Ó Docker Hub À­È¡ÈÝÆ÷Ó³Ïñ¡£Èç¹ûÄãÏë´Ó˽ÓеĴ¬Î루ָ Docke Ó³Ïñ¿â£©ÖÐÀ­È¡£¬ÐèҪʹÓÃÃüÁî ¡°$docker login <hostname>¡± À´Ö¸¶¨Ë½Óвִ¬ÎëµÄÖ÷»úÃû£¨hostname£©¡£

$docker login

ÓÉÓÚÉÏÃæµÄÃüÁîûÓÐÖ¸¶¨Ö÷»úÃû³Æ£¬Ëü»áµÇ¼ https://hub.docker.com¡£

$docker pull saravasu/techietweak:001

5.2¼ì²éÓ³Ïñ

docker pull ÃüÁî»á´Ó Docker Hub ÏÂÔØÈÝÆ÷Ó³Ïñ¡£ÎÒÃÇ¿ÉÒÔʹÓà ¡°docker images¡± ÃüÁîÀ´¶ÔÆä½øÐмì²é¡£

$docker images

5.3ÔËÐÐÈÝÆ÷

ÏÖÔÚÎÒÃÇÓÃÓëÔÚ¿ª·¢»·¾³ÏÂÔËÐвâÊÔÏàͬµÄ·½·¨À´ÔËÐÐ Docker ÈÝÆ÷¡£Ö®Ç°×ö¹ý£¬Çá³µÊì·¡£

$docker run -d -p 8080:8080 saravasu/techietweak:001

docker run ÃüÁî»áÆô¶¯ÈÝÆ÷¡£¿ÉÒÔʹÓà ¡°docker ps¡± ÃüÁîÀ´¼ì²é¡£Docker ´´½¨²¢ÔËÐÐÁËÒ»¸öеÄÈÝÆ÷£¬ÆäÃû³ÆÎª ¡°naughty_lewin¡±¡£

ÎÒÃÇÔÚÉÏÃæ¿´µ½ Docker ÒýÇæÎªÔËÐеÄÈÝÆ÷ÌṩÁËÒ»¸öËæ»úµÄÃû³Æ£¬ÕâÔÚ×Ô¶¯»¯¹ý³ÌÖпÉÄÜ»á²úÉúÎÊÌ⣬ËùÒÔ×îºÃÊǰ´ÎÒÃǵÄÒâÔ¸Ö¸¶¨Ò»¸öÃû³Æ¡£Õâ¿ÉÒÔÓÉ ¡°-name¡± ²ÎÊýʵÏÖ¡£

$docker run -d -p 8080:8080 --name "myNodeJsWebContainer" saravasu/techietweak:001

6×ܽá

±¾Îĺ­¸ÇÁË¿ª·¢Ò»¸öÈÝÆ÷Ó³ÏñµÄÁ÷³ÌºÍ±ØÒªµÄÃüÁ½²½âÁËÔÚ±¾µØ»·¾³ÔËÐУ¬ÒÔ¼°½«Ó³Ïñ·¢²¼µ½ Docker Hub£¬²¢ÔÚÄ¿±ê»·¾³ÔËÐÐÈÝÆ÷¡£Ïë½øÒ»²½Ñо¿£¬»òÕßÔĶÁÏêϸµÄÎĵµ£¬ÇëÒÆ²½ Docker ÍøÕ¾ [²Î¿¼ 6.1]¡£

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

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

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

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤