ÔõÑùʹÓÃDockerÔÚLinuxÉϾÙÐÐÈÝÆ÷µÄÒ»Á¬¼¯³ÉºÍÒ»Á¬°²ÅÅ£¿
ÔõÑùʹÓÃdockerÔÚlinuxÉϾÙÐÐÈÝÆ÷µÄÒ»Á¬¼¯³ÉºÍÒ»Á¬°²ÅÅ£¿
Ëæ×ÅÈí¼þ¿ª¿¯ÐÐÒµµÄÒ»Ö±Éú³¤£¬Ò»Á¬¼¯³ÉºÍÒ»Á¬°²ÅųÉΪÁËÏÖ´ú»¯Èí¼þ¿ª·¢Á÷³ÌÖеÄÖ÷Òª»·½Ú¡£¶øDocker×÷ΪһÖÖÇáÁ¿¼¶µÄÐéÄ⻯ÊÖÒÕ£¬ÎªÎÒÃÇÌṩÁËÒ»ÖÖ±ã½ÝµÄ·½·¨À´ÊµÏÖÈÝÆ÷»¯µÄÓ¦ÓóÌÐò°²ÅÅ¡£ÔÚLinuxϵͳÉÏ£¬ÎÒÃÇ¿ÉÒÔʹÓÃDockerÀ´¾ÙÐÐÈÝÆ÷µÄÒ»Á¬¼¯³ÉºÍÒ»Á¬°²ÅÅ£¬±¾ÎĽ«ÏÈÈÝÔõÑùʹÓÃDockerÀ´ÊµÏÖÕâÒ»Àú³Ì¡£
Ê×ÏÈ£¬ÎÒÃÇÐèҪװÖÃDocker£¬ÒÔÏÂÒÔUbuntuϵͳΪÀý£º
sudo apt-get update sudo apt-get install docker-ce
µÇ¼ºó¸´ÖÆ
×°ÖÃÍê³Éºó£¬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´ÑéÖ¤DockerµÄ×°ÖÃÊÇ·ñÀֳɣº
docker version
µÇ¼ºó¸´ÖÆ
½ÓÏÂÀ´£¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸öDocker¾µÏñ£¬ÓÃÓÚ¹¹½¨×ðÁú¿Ê±Ó¦ÓóÌÐò¡£ÎÒÃÇ¿ÉÒÔʹÓÃDockerfileÀ´½ç˵¾µÏñµÄ¹¹½¨¹æÔò¡£ÒÔÏÂÊÇÒ»¸öʾÀýµÄDockerfileÎļþ£º
FROM ubuntu:latest # ×°ÖÃËùÐèµÄÈí¼þ°ü RUN apt-get update && apt-get install -y software-properties-common && add-apt-repository ppa:ondrej/php && apt-get update && apt-get install -y php7.2-cli # ¸´ÖÆÓ¦ÓóÌÐòµÄ´úÂëµ½¾µÏñÖÐ COPY . /app # ÔÚÈÝÆ÷ÖÐÉèÖÃÊÂÇéĿ¼ WORKDIR /app # ×°ÖÃÒÀÀµ RUN composer install # ½ç˵ÈÝÆ÷Æô¶¯Ê±Ö´ÐеÄÏÂÁî CMD ["php", "index.php"]
µÇ¼ºó¸´ÖÆ
ÔÚÒ»¸ö°üÀ¨ÁËÓ¦ÓóÌÐò´úÂëµÄĿ¼Ï½¨ÉèÒ»¸öÃûΪDockerfileµÄÎļþ£¬²¢½«ÉÏÊö´úÂ븴ÖƵ½ÆäÖС£È»ºó£¬ÔÚ¸ÃĿ¼ÏÂÔËÐÐÒÔÏÂÏÂÁîÀ´¹¹½¨Docker¾µÏñ£º
docker build -t myapp .
µÇ¼ºó¸´ÖÆ
ÉÏÊöÏÂÁ»á½«¸ÃĿ¼ÏµĴúÂë´ò°ü²¢¹¹½¨³ÉÒ»¸öÃûΪmyappµÄDocker¾µÏñ¡£
½ÓÏÂÀ´£¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸öÓÃÀ´Ò»Á¬¼¯³ÉºÍÒ»Á¬°²Åŵľ籾¡£ÒÔÏÂÊÇÒ»¸öʾÀýµÄ¾ç±¾£º
#!/bin/bash # ÀÈ¡×îеĴúÂë git pull origin master # ×èÖ¹²¢ÒƳýÏÖÓеÄÈÝÆ÷ docker stop myapp docker rm myapp # ¹¹½¨²¢ÔËÐÐеÄÈÝÆ÷ docker build -t myapp . docker run -d --name myapp myapp
µÇ¼ºó¸´ÖÆ
¸Ã¾ç±¾Ê×ÏÈͨ¹ýGitÀÈ¡×îеĴúÂ룬Ȼºó×èÖ¹²¢ÒƳýÏÖÓеÄÈÝÆ÷¡£½Ó×Å£¬Ëü»áÖØй¹½¨¾µÏñ²¢ÔËÐÐÒ»¸öÃûΪmyappµÄÈÝÆ÷¡£
½«ÉÏÊö¾ç±¾ÉúÑĵ½Ò»¸öÃûΪdeploy.shµÄÎļþÖУ¬²¢ÔËÐÐÒÔÏÂÏÂÁÓë¸Ã¾ç±¾Ö´ÐÐȨÏÞ£º
chmod +x deploy.sh
µÇ¼ºó¸´ÖÆ
×îºó£¬ÎÒÃÇ¿ÉÒÔʹÓÃÒ»¸öÒ»Á¬¼¯³É¹¤¾ß£¨ÀýÈçJenkins£©À´°´ÆÚÖ´Ðиþ籾£¬ÊµÏÖÒ»Á¬¼¯³ÉºÍÒ»Á¬°²ÅŵÄÄ¿µÄ¡£Ê¹ÓÃÕâÑùµÄ¹¤¾ß£¬ÎÒÃÇ¿ÉÒÔÉèÖÃ׼ʱʹÃü»òÕßƾ֤´úÂëÌá½»µÄ´¥·¢À´×Ô¶¯Ö´Ðо籾£¬ÊµÏÖ×Ô¶¯»¯µÄÈÝÆ÷»¯°²ÅÅÁ÷³Ì¡£
×ÛÉÏËùÊö£¬ÎÒÃÇ¿ÉÒÔʹÓÃDockerÀ´ÊµÏÖÈÝÆ÷µÄÒ»Á¬¼¯³ÉºÍÒ»Á¬°²ÅÅ¡£Í¨¹ý½¨ÉèDocker¾µÏñºÍʹÓÃÏà¹ØµÄ¾ç±¾£¬ÎÒÃÇ¿ÉÒÔÇáËɵع¹½¨ºÍ°²ÅÅÈÝÆ÷»¯µÄÓ¦ÓóÌÐò¡£ÕâÖÖ·½·¨²»µ«Àû±ã¿ì½Ý£¬»¹¿ÉÒÔÌá¸ßÓ¦ÓóÌÐòµÄ¿É¿¿ÐԺͿɲâÊÔÐÔ¡£Òò´Ë£¬Ê¹ÓÃDocker¾ÙÐÐÈÝÆ÷µÄÒ»Á¬¼¯³ÉºÍÒ»Á¬°²ÅÅÒѳÉΪµ±ÏÂÈí¼þ¿ª¿¯ÐÐÒµµÄÒ»ÖÖÖ÷Ҫʵ¼ù¡£
ÒÔÉϾÍÊÇÔõÑùʹÓÃDockerÔÚLinuxÉϾÙÐÐÈÝÆ÷µÄÒ»Á¬¼¯³ÉºÍÒ»Á¬°²ÅÅ£¿µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡