LinuxºÍDocker£ºÔõÑù¾ÙÐÐÈÝÆ÷µÄ°æ±¾ÖÎÀíºÍÐû²¼ÖÎÀí£¿
linuxºÍdocker£ºÔõÑù¾ÙÐÐÈÝÆ÷µÄ°æ±¾ÖÎÀíºÍÐû²¼ÖÎÀí£¿
Ëæ×ÅÔÆÅÌËãÊÖÒÕµÄÉú³¤£¬ÈÝÆ÷»¯ÊÖÒÕÈÕÒæ³ÉΪ¿ª·¢ºÍ°²ÅÅÓ¦ÓóÌÐòµÄÊ×Ñ¡¼Æ»®¡£¶øÔÚÈÝÆ÷»¯ÊÖÒÕÖУ¬LinuxºÍDockerÊÇ×îΪ³£ÓúÍÊ¢ÐеÄÁ½ÖÖ¹¤¾ß¡£Linux×Ô´øµÄContainerÊÖÒÕÒѾ³ÉÊ죬¶øDockerÔòΪÈÝÆ÷ÌṩÁ˸ü¼òÆÓÒ×ÓõÄÖÎÀíºÍ°²ÅÅ·½·¨¡£±¾ÎĽ«ÏÈÈÝÔõÑùʹÓÃLinuxºÍDockerÀ´¾ÙÐÐÈÝÆ÷µÄ°æ±¾ÖÎÀíºÍÐû²¼ÖÎÀí¡£
Ò»¡¢ÈÝÆ÷°æ±¾ÖÎÀí
ÔÚ¿ª·¢ºÍ°²ÅÅÀú³ÌÖУ¬ÈÝÆ÷°æ±¾ÖÎÀíÊǺÜÊÇÖ÷ÒªµÄÒ»»·¡£µ±Ó¦ÓóÌÐò±¬·¢×ª±äʱ£¬ÐèÒª½¨ÉèеÄÈÝÆ÷°æ±¾£¬²¢ÔÚ²»Ó°ÏìÒÑÓгÌÐòµÄÇéÐÎϾÙÐÐÉý¼¶ºÍ»Ø¹ö¡£ÏÂÃæÊÇÒ»¸öʹÓÃDockerÀ´¾ÙÐÐÈÝÆ÷°æ±¾ÖÎÀíµÄʾÀý£º
½¨ÉèÒ»¸öеÄÈÝÆ÷°æ±¾
docker build -t myapp:v1 .
µÇ¼ºó¸´ÖÆ
Éó²éËùÓÐÈÝÆ÷°æ±¾
docker images
µÇ¼ºó¸´ÖÆ
Æô¶¯Ò»¸öÈÝÆ÷
docker run -d --name myapp myapp:v1
µÇ¼ºó¸´ÖÆ
Éý¼¶ÈÝÆ÷°æ±¾
docker build -t myapp:v2 . docker stop myapp docker rm myapp docker run -d --name myapp myapp:v2
µÇ¼ºó¸´ÖÆ
»Ø¹öµ½Ö®Ç°µÄÈÝÆ÷°æ±¾
docker stop myapp docker rm myapp docker run -d --name myapp myapp:v1
µÇ¼ºó¸´ÖÆ
ͨ¹ýÒÔÉÏʾÀý£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÔõÑù½¨Éè¡¢Éó²é¡¢Éý¼¶ºÍ»Ø¹öÈÝÆ÷µÄ°æ±¾¡£
¶þ¡¢ÈÝÆ÷Ðû²¼ÖÎÀí
ÈÝÆ÷µÄÐû²¼ÖÎÀí°üÀ¨ÈÝÆ÷µÄ°²ÅÅ¡¢ÉèÖúÍÀ©Èݵȡ£ÔÚDockerÖУ¬¿ÉÒÔͨ¹ýDocker ComposeÀ´¾ÙÐÐÈÝÆ÷µÄÐû²¼ÖÎÀí¡£ÏÂÃæÊÇÒ»¸öʹÓÃDocker ComposeÀ´¾ÙÐÐÈÝÆ÷Ðû²¼ÖÎÀíµÄʾÀý£º
½¨ÉèÒ»¸ödocker-compose.ymlÎļþ£º
version: '3' services: web: image: nginx:latest ports: - "80:80" volumes: - nginx.conf:/etc/nginx/nginx.conf volumes: nginx.conf: external: true
µÇ¼ºó¸´ÖÆ
½¨ÉèÒ»¸önginx.confÎļþ£¬ÓÃÓÚÉèÖÃNginx£º
server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } }
µÇ¼ºó¸´ÖÆ
Æô¶¯ÈÝÆ÷
docker-compose up -d
µÇ¼ºó¸´ÖÆ
ͨ¹ýÒÔÉÏʾÀý£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÔõÑùʹÓÃDocker ComposeÀ´¾ÙÐÐÈÝÆ÷µÄ°²ÅźÍÉèÖÃÖÎÀí¡£
Èý¡¢ÈÝÆ÷°æ±¾ºÍÐû²¼ÖÎÀíµÄ×Ô¶¯»¯
ΪÁËÔ½·¢¸ßЧµØ¾ÙÐÐÈÝÆ÷°æ±¾ºÍÐû²¼ÖÎÀí£¬ÎÒÃÇ»¹¿ÉÒÔ½èÖúһЩ×Ô¶¯»¯¹¤¾ß£¬ÈçJenkinsºÍGitLabµÈ£¬ÊµÏÖÈÝÆ÷µÄÒ»Á¬¼¯³ÉºÍÒ»Á¬°²ÅÅ¡£ÏÂÃæÊÇÒ»¸öʹÓÃJenkinsºÍGitLabÀ´¾ÙÐÐÈÝÆ÷°æ±¾ºÍÐû²¼ÖÎÀíµÄʾÀý£º
ÔÚGitLabÉϽ¨ÉèÒ»¸öеĿÍÕ»£¬ÓÃÓÚ´æ·ÅÓ¦ÓóÌÐò´úÂëºÍDockerfile¡£
ÔÚJenkinsÖн¨ÉèÒ»¸öеÄʹÃü£¬½«GitLabÖеĴúÂëºÍDockerfileÀÈ¡µ½JenkinsµÄÊÂÇéĿ¼ÖС£
ÔÚJenkinsÖÐÉèÖÃÒ»¸öPipeline¾ç±¾£¬ÓÃÓÚ×Ô¶¯»¯¹¹½¨¡¢²âÊÔ¡¢Ðû²¼ÈÝÆ÷Ó¦Óá£
ͨ¹ýÒÔÉÏʾÀý£¬ÎÒÃÇ¿ÉÒÔʵÏÖÈÝÆ÷°æ±¾ºÍÐû²¼ÖÎÀíµÄ×Ô¶¯»¯¡£
×ܽ᣺
ÈÝÆ÷»¯ÊÖÒÕΪӦÓóÌÐòµÄ¿ª·¢ºÍ°²ÅÅÌṩÁ˸ü±ã½ÝºÍÎÞаµÄ·½·¨¡£LinuxºÍDocker×÷ΪÈÝÆ÷»¯ÊÖÒÕÖÐ×îÊ¢ÐеŤ¾ßÖ®Ò»£¬Äܹ»ÌṩǿʢµÄÈÝÆ÷°æ±¾ºÍÐû²¼ÖÎÀí¹¦Ð§¡£Í¨¹ý±¾ÎÄËùÏÈÈݵÄÒªÁìºÍʾÀý£¬ÐÅÍжÁÕ߶ÔÔõÑù¾ÙÐÐÈÝÆ÷µÄ°æ±¾ÖÎÀíºÍÐû²¼ÖÎÀíÓÐÁ˸üÉîÈëµÄÃ÷È·¡£
ÒÔÉϾÍÊÇLinuxºÍDocker£ºÔõÑù¾ÙÐÐÈÝÆ÷µÄ°æ±¾ÖÎÀíºÍÐû²¼ÖÎÀí£¿µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡