ÔõÑùÔÚLinuxÉÏ¿ìËÙ°²ÅÅÈÝÆ÷»¯µÄWebÓ¦Óã¿
ÔõÑùÔÚlinuxÉÏ¿ìËÙ°²ÅÅÈÝÆ÷»¯µÄwebÓ¦Óã¿
Ëæ×ÅÔÆÅÌËãºÍÈÝÆ÷»¯ÊÖÒÕµÄÉú³¤£¬Ô½À´Ô½¶àµÄ¿ª·¢Õß×îÏÈʹÓÃÈÝÆ÷À´°²ÅźÍÖÎÀíËûÃǵÄWebÓ¦Óá£ÈÝÆ÷»¯¿ÉÒÔÌṩ¸üºÃµÄÇéÐθôÀëºÍ×ÊԴʹÓÃÂÊ£¬Ê¹µÃÓ¦ÓõݲÅÅÔ½·¢ÎÞаºÍ¸ßЧ¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃǽ«ÏÈÈÝÔõÑùÔÚLinuxÉÏʹÓÃDocker¿ìËÙ°²ÅÅÈÝÆ÷»¯µÄWebÓ¦Óá£
Ò»¡¢×°ÖÃDocker
Ê×ÏÈ£¬ÎÒÃÇÐèÒªÔÚLinuxÉÏ×°ÖÃDocker¡£DockerÊÇÒ»¸ö¿ªÔ´µÄÈÝÆ÷»¯Æ½Ì¨£¬¿ÉÒÔ×ÊÖúÎÒÃǽ¨ÉèºÍÖÎÀíÈÝÆ÷¡£ÔÚ´ó´ó¶¼Linux¿¯ÐаæÖУ¬Docker¿ÉÒÔͨ¹ý°ü¹ÜÀí¹¤¾ß¾ÙÐÐ×°Öá£ÒÔUbuntuΪÀý£¬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁî×°ÖÃDocker£º
sudo apt-get update
sudo apt-get install docker.io
×°ÖÃÍê³Éºó£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÔËÐÐÒÔÏÂÏÂÁîÀ´Ñé֤װÖÃÊÇ·ñÀֳɣº
docker version
ÈôÊÇÊä³öÁËDockerµÄ°æ±¾ÐÅÏ¢£¬Ôò˵Ã÷×°ÖÃÀֳɡ£
¶þ¡¢¹¹½¨Docker¾µÏñ
ÔÚʹÓÃDocker°²ÅÅÈÝÆ÷»¯µÄWebÓ¦ÓÃ֮ǰ£¬ÎÒÃÇÐèÒª¹¹½¨Ò»¸öDocker¾µÏñ¡£Docker¾µÏñÊÇÒ»¸ö¿ÉÖ´ÐеÄÈí¼þ°ü£¬ÆäÖаüÀ¨ÁËÔËÐÐÈÝÆ÷ËùÐèµÄËùÓÐÒÀÀµºÍÉèÖá£ÔÚ¹¹½¨Docker¾µÏñ֮ǰ£¬ÎÒÃÇÐèÒª±àдһ¸öDockerfileÎļþ£¬ÓÃÓÚÐÎò¾µÏñµÄ¹¹½¨Àú³Ì¡£
ÏÂÃæÊÇÒ»¸ö¼òÆÓµÄDockerfileʾÀý£º
# ʹÓùٷ½µÄPython¾µÏñ×÷Ϊ»ù´¡¾µÏñ FROM python:3.7 # ½«Ä¿½ñĿ¼ÏµĴúÂ븴ÖƵ½¾µÏñÖеÄ/appĿ¼ COPY . /app # ÉèÖÃÊÂÇéĿ¼Ϊ/app WORKDIR /app # ×°ÖÃÓ¦ÓÃËùÐèµÄÒÀÀµ RUN pip install -r requirements.txt # ÉèÖÃÈÝÆ÷Æô¶¯Ê±Ö´ÐеÄÏÂÁî CMD [ "python", "app.py" ]
µÇ¼ºó¸´ÖÆ
ÔÚÉÏÊöʾÀýÖУ¬ÎÒÃÇʹÓÃÁ˹ٷ½µÄPython¾µÏñ×÷Ϊ»ù´¡¾µÏñ£¬²¢½«Ä¿½ñĿ¼ÏµĴúÂ븴ÖƵ½¾µÏñÖеÄ/appĿ¼¡£È»ºó£¬ÎÒÃÇÔÚ/appĿ¼ÏÂ×°ÖÃÓ¦ÓÃËùÐèµÄÒÀÀµ£¬×îºóÉèÖÃÈÝÆ÷Æô¶¯Ê±Ö´ÐеÄÏÂÁîΪpython app.py¡£
Íê³ÉDockerfile±àдºó£¬ÎÒÃÇ¿ÉÒÔʹÓÃÒÔÏÂÏÂÁî¹¹½¨Ò»¸öÃûΪmyappµÄDocker¾µÏñ£º
docker build -t myapp .
¾µÏñ¹¹½¨Íê³Éºó£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÔËÐÐÒÔÏÂÏÂÁîÀ´Éó²é¾µÏñÁÐ±í£º
docker images
Èý¡¢ÔËÐÐÈÝÆ÷
ÔÚ¹¹½¨ÍêDocker¾µÏñºó£¬ÎÒÃÇ¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´ÔËÐÐÈÝÆ÷£º
docker run -d -p 80:80 myapp
ÉÏÊöÏÂÁîÖУ¬-d²ÎÊýÌåÏÖÔÚºǫ́ÔËÐÐÈÝÆ÷£¬-p²ÎÊýÖ¸¶¨ÈÝÆ÷µÄ¶Ë¿ÚÓ³Éä¡£ÕâÀォÈÝÆ÷µÄ80¶Ë¿ÚÓ³Éäµ½Ö÷»úµÄ80¶Ë¿Ú£¬ÕâÑùÎÒÃÇ¿ÉÒÔͨ¹ýä¯ÀÀÆ÷»á¼ûWebÓ¦Óá£
ÔËÐÐÍêÉÏÊöÏÂÁîºó£¬ÎÒÃÇ¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´Éó²éÕýÔÚÔËÐеÄÈÝÆ÷£º
docker ps
ËÄ¡¢»á¼ûWebÓ¦ÓÃ
ͨ¹ýä¯ÀÀÆ÷»á¼ûhttp://localhost£¬¼´¿É»á¼û°²ÅÅÔÚDockerÈÝÆ÷ÖеÄWebÓ¦Óá£ÈôÊÇÒ»ÇÐ˳Ë죬ÄãÓ¦¸ÃÄܹ»¿´µ½WebÓ¦ÓõÄÊ×Ò³¡£
Îå¡¢ÖÎÀíÈÝÆ÷
ÔÚÔËÐеÄÈÝÆ÷ÖУ¬ÎÒÃÇ¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´ÖÎÀíÈÝÆ÷£º
Éó²éÈÝÆ÷ÈÕÖ¾£ºdocker logs
×èÖ¹ÈÝÆ÷£ºdocker stop
Æô¶¯ÒÑ×èÖ¹µÄÈÝÆ÷£ºdocker start
ÖØÆôÈÝÆ÷£ºdocker restart
ɾ³ýÈÝÆ÷£ºdocker rm
Áù¡¢×ܽá
±¾ÎÄÏÈÈÝÁËÔõÑùÔÚLinuxÉÏʹÓÃDocker¿ìËÙ°²ÅÅÈÝÆ÷»¯µÄWebÓ¦Óá£Í¨¹ýDocker£¬ÎÒÃÇ¿ÉÒÔÇáËɵع¹½¨¡¢°²ÅźÍÖÎÀíÈÝÆ÷»¯µÄÓ¦Óá£Ï£Íû±¾ÎĶÔÄãѧϰºÍʹÓÃÈÝÆ÷»¯ÊÖÒÕÓÐËù×ÊÖú¡£
ÒÔÉϾÍÊÇÔõÑùÔÚLinuxÉÏ¿ìËÙ°²ÅÅÈÝÆ÷»¯µÄWebÓ¦Ó㿵ÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡