DockerÈÝÆ÷ÖÐ×°ÖÃSymfony£ºÊµÏÖ¸ßЧ¿ª·¢
DockerÈÝÆ÷ÖÐ×°ÖÃSymfony£ºÊµÏÖ¸ßЧ¿ª·¢
СÐò£º
SymfonyÊÇÒ»¿îÓÃPHP±àдµÄ¿ªÔ´WebÓ¦ÓóÌÐò¿ò¼Ü£¬ÌṩÁËÒ»Ì׸ßЧµÄ¹¤¾ßºÍ×é¼þÀ´¼ò»¯WebÓ¦ÓóÌÐòµÄ¿ª·¢Àú³Ì¡£Ê¹ÓÃSymfony¿ÉÒÔïÔÌ¿ª·¢Ê±¼ä£¬Ìá¸ß´úÂëµÄ¿Éά»¤ÐԺͿÉÀ©Õ¹ÐÔ¡£¶øʹÓÃDockerÈÝÆ÷À´×°ÖÃSymfony£¬¿ÉÒÔ½øÒ»²½Ìá¸ß¿ª·¢Ð§ÂÊ£¬½µµÍÇéÐÎÉèÖõÄÖØ´óÐÔ¡£±¾ÎĽ«ÏêϸÏÈÈÝÔõÑùÔÚDockerÈÝÆ÷ÖÐ×°ÖÃSymfony£¬²¢¸ø³öÏêϸµÄ´úÂëʾÀý¡£
Ò»¡¢ÏàʶDockerÈÝÆ÷
DockerÊÇÒ»¸ö¿ªÔ´µÄÈÝÆ÷»¯Æ½Ì¨£¬Äܹ»½«Ó¦ÓóÌÐòºÍÆäÒÀÀµ´ò°üÔÚÒ»¸öÇáÁ¿¼¶¡¢¿ÉÒÆÖ²µÄÈÝÆ÷ÖС£Ê¹ÓÃDocker¿ÉÒÔÌṩһÖµÄÔËÐÐÇéÐΣ¬Ê¹µÃÓ¦ÓóÌÐòÔÚ²î±ðµÄÇéÐÎ϶¼ÄÜÎȹ̵ØÔËÐС£Í¨¹ýʹÓÃÈÝÆ÷ÊÖÒÕ£¬ÎÒÃÇ¿ÉÒÔÀû±ãµØ½«SymfonyºÍËùÓеÄÒÀÀµÏî´ò°üÔÚÒ»Æ𣬲¢ÔÚ²î±ðµÄ¿ª·¢ÇéÐÎÖоÙÐа²ÅźͲâÊÔ¡£
¶þ¡¢×°ÖÃDocker
Ê×ÏÈ£¬ÎÒÃÇÐèҪװÖÃDocker¡£DockerÌṩÁ˹ٷ½µÄ×°Öðü£¬Ö§³Ö¶à¸ö²Ù×÷ϵͳ£¬°üÀ¨Windows¡¢MacºÍLinux¡£Ñ¡ÔñÊʺÏ×Ô¼º²Ù×÷ϵͳµÄ×°Öðü£¬Æ¾Ö¤¹Ù·½Îĵµ¾ÙÐÐ×°Öá£
Èý¡¢½¨ÉèSymfonyÏîÄ¿
ÔÚ×°ÖúÃDockerÖ®ºó£¬ÎÒÃÇ¿ÉÒÔ×îÏȽ¨ÉèSymfonyÏîÄ¿ÁË¡£·¿ªÖնˣ¬Ö´ÐÐÒÔÏÂÏÂÁîÀ´½¨ÉèSymfonyÏîÄ¿£º
$ docker run --rm -v $(pwd):/app composer create-project symfony/skeleton my_project
µÇ¼ºó¸´ÖÆ
ÉÏÊöÏÂÁ»áÔÚÄ¿½ñĿ¼Ï½¨ÉèÒ»¸öÃûΪmy_projectµÄSymfonyÏîÄ¿¡£
ËÄ¡¢½¨ÉèDocker¾µÏñºÍÈÝÆ÷
½ÓÏÂÀ´£¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸öDocker¾µÏñ£¬½«SymfonyÏîÄ¿´ò°üÔÚÆäÖС£ÔÚSymfonyÏîÄ¿µÄ¸ùĿ¼Öн¨ÉèÒ»¸öÃûΪDockerfileµÄÎļþ£¬ÄÚÈÝÈçÏ£º
FROM php:7.4-cli RUN apt-get update && apt-get install -y libicu-dev libzip-dev zip RUN docker-php-ext-configure intl && docker-php-ext-install intl RUN docker-php-ext-install zip COPY . /var/www/html/ WORKDIR /var/www/html CMD ["php", "-S", "0.0.0.0:8000", "-t", "public"]
µÇ¼ºó¸´ÖÆ
ÉÏÊöDockerfileÖÐʹÓÃÁ˹ٷ½µÄPHP 7.4¾µÏñ×÷Ϊ»ù´¡¾µÏñ£¬²¢×°ÖÃÁËSymfonyËùÐèµÄһЩÀ©Õ¹ºÍÒÀÀµÏî¡£
½ÓÏÂÀ´£¬ÎÒÃÇÐèҪʹÓÃDockerÏÂÁîÀ´¹¹½¨¸Ã¾µÏñ£º
$ docker build -t symfony-app .
µÇ¼ºó¸´ÖÆ
ͨ¹ýÉÏÊöÏÂÁÎÒÃǽ¨ÉèÁËÒ»¸öÃûΪsymfony-appµÄDocker¾µÏñ¡£
½ÓÏÂÀ´£¬ÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæµÄÏÂÁîÀ´Æô¶¯Ò»¸öDockerÈÝÆ÷£¬²¢½«¸ÃÈÝÆ÷Ó³Éäµ½ÍâµØµÄ8000¶Ë¿ÚÉÏ£º
$ docker run -p 8000:8000 -v $(pwd):/var/www/html symfony-app
µÇ¼ºó¸´ÖÆ
ͨ¹ýÒÔÉÏÏÂÁSymfonyÓ¦ÓóÌÐò½«ÔÚDockerÈÝÆ÷ÖÐÔËÐУ¬²¢Í¨¹ýÍâµØµÄ8000¶Ë¿Ú¶ÔÍâÌṩЧÀÍ¡£
Îå¡¢²âÊÔSymfonyÓ¦ÓóÌÐò
·¿ªä¯ÀÀÆ÷£¬»á¼ûhttp://localhost:8000£¬ÈôÊÇÄܹ»¿´µ½SymfonyµÄ½Ó´ýÒ³Ã棬˵Ã÷SymfonyÓ¦ÓóÌÐòÒѾÀÖ³ÉÔËÐÐÔÚDockerÈÝÆ÷ÖÐÁË¡£
Áù¡¢×ܽá
ͨ¹ýDockerÈÝÆ÷µÄʹÓã¬ÎÒÃÇÄܹ»Àû±ãµØ×°ÖúͰ²ÅÅSymfonyÓ¦ÓóÌÐò£¬Ìá¸ß¿ª·¢Ð§ÂÊ£¬ïÔÌÇéÐÎÉèÖõÄÖØ´óÐÔ¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇÏêϸÏÈÈÝÁËÔõÑùÔÚDockerÈÝÆ÷ÖÐ×°ÖÃSymfony£¬²¢¸ø³öÁËÏêϸµÄ´úÂëʾÀý¡£Ï£Íû±¾ÎÄÄܹ»×ÊÖúÊ״νӴ¥SymfonyºÍDockerµÄ¿ª·¢ÕßÃÇ¿ìËÙÈëÃÅ¡£×£¸÷È˱àÂëÓä¿ì£¡
ÒÔÉϾÍÊÇDockerÈÝÆ÷ÖÐ×°ÖÃSymfony£ºÊµÏÖ¸ßЧ¿ª·¢µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡