½ÌÄãÔõÑùÔÚDockerÖÐ×°ÖÃSymfony
½ÌÄãÔõÑùÔÚDockerÖÐ×°ÖÃSymfony
SymfonyÊÇÒ»¿îÊ¢ÐеÄPHP WebÓ¦ÓóÌÐò¿ò¼Ü£¬Ëü±»ÆÕ±éʹÓÃÓÚÖÖÖÖ¹æÄ£µÄÏîÄ¿ÖС£Ê¹ÓÃDockerÈÝÆ÷»¯ÊÖÒÕ£¬ÎÒÃÇ¿ÉÒÔÇáËɵØÔÚ²î±ðµÄÇéÐÎÖа²ÅÅ¡¢ÔËÐкͲâÊÔSymfonyÓ¦ÓóÌÐò¡£±¾ÆªÎÄÕ½«´øÄãÖð²½ÏàʶÔõÑùÔÚDockerÖÐ×°ÖÃSymfony£¬²¢ÌṩÏêϸµÄ´úÂëʾÀý¹©²Î¿¼¡£
°ì·¨1£º×°ÖÃDocker
Ê×ÏÈ£¬ÄãÐèÒªÔÚÄãµÄϵͳÉÏ×°ÖÃDocker¡£ÏêϸµÄ×°Öð취ÒòÄãµÄ²Ù×÷ϵͳ¶øÒ죬Äã¿ÉÒԲο¼Docker¹Ù·½Îĵµ¾ÙÐÐ×°Öá£Ò»µ©Docker×°ÖÃÍê³É£¬Äã¿ÉÒÔͨ¹ýÔËÐÐdocker –versionÏÂÁîÀ´ÑéÖ¤ÊÇ·ñÀÖ³É×°Öã¨ÄãÓ¦¸ÃÄÜ¿´µ½ÀàËƵÄÊä³ö£ºDocker version 20.10.0£©¡£
°ì·¨2£º½¨ÉèDockerÈÝÆ÷
½ÓÏÂÀ´£¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸ö¿ÉÒÔÔËÐÐSymfonyÓ¦ÓóÌÐòµÄDockerÈÝÆ÷¡£ÎªÁËÀû±ãÆð¼û£¬ÎÒÃǽ«Ê¹ÓÃSymfony¹Ù·½ÌṩµÄDocker¾µÏñ¡£ÔÚÏîÄ¿¸ùĿ¼Ï½¨ÉèÒ»¸öÃûΪdocker-compose.ymlµÄÎļþ£¬²¢ÔÚÆäÖÐÌí¼ÓÒÔÏÂÄÚÈÝ£º
version: '3' services: php: image: symfony_php volumes: - .:/var/www/html webserver: image: symfony/apache-pack ports: - 80:80 links: - php volumes: - .:/var/www/html
µÇ¼ºó¸´ÖÆ
ÔÚÉÏÊö´úÂëÖУ¬ÎÒÃǽç˵ÁËÁ½¸öЧÀÍ£ºphpºÍwebserver¡£phpЧÀÍʹÓÃSymfony¹Ù·½ÌṩµÄPHP¾µÏñ£¬½«Ä¿½ñĿ¼¹ÒÔص½ÈÝÆ÷µÄ/var/www/htmlĿ¼£¬²¢ÇÒ¿ÉÒÔͨ¹ýÈÝÆ÷ÄÚ²¿µÄÍøÂçÓëwebserverЧÀ;ÙÐÐͨѶ¡£webserverЧÀÍʹÓÃSymfony¹Ù·½ÌṩµÄApache¾µÏñ£¬²¢½«ÈÝÆ÷µÄ80¶Ë¿ÚÓ³Éäµ½Ö÷»úµÄ80¶Ë¿Ú£¬ÒÔ±ãÎÒÃÇÄܹ»Í¨¹ýÎÒÃǵÄä¯ÀÀÆ÷»á¼ûSymfonyÓ¦ÓóÌÐò¡£
°ì·¨3£º¹¹½¨ºÍÆô¶¯ÈÝÆ÷
ÔÚÏîÄ¿¸ùĿ¼ÏÂÖ´ÐÐÒÔÏÂÏÂÁÀ´¹¹½¨ºÍÆô¶¯DockerÈÝÆ÷£º
docker-compose up -d
µÇ¼ºó¸´ÖÆ
¸ÃÏÂÁ»áƾ֤docker-compose.ymlÎļþµÄ½ç˵£¬×Ô¶¯ÀÈ¡ËùÐèµÄ¾µÏñ£¬²¢½¨ÉèºÍÆô¶¯ÈÝÆ÷¡£Íê³Éºó£¬Äã¿ÉÒÔͨ¹ýÔËÐÐdocker psÏÂÁîÀ´ÑéÖ¤ÈÝÆ÷ÊÇ·ñÒÑÀÖ³ÉÔËÐУ¨ÄãÓ¦¸ÃÄÜ¿´µ½ÀàËƵÄÊä³ö£ºCONTAINER ID IMAGE COMMAND …£©¡£
°ì·¨4£º×°ÖÃSymfony
ÏÖÔÚ£¬ÎÒÃÇ¿ÉÒÔÔÚDockerÈÝÆ÷ÖÐ×°ÖÃSymfonyÓ¦ÓóÌÐò¡£Ê×ÏÈ£¬½øÈëµ½phpÈÝÆ÷ÖÐÖ´ÐÐÒÔÏÂÏÂÁ
docker-compose exec php bash
µÇ¼ºó¸´ÖÆ
Õ⽫»á½øÈëµ½PHPÈÝÆ÷µÄÖնˡ£ÔÚÖÕ¶ËÖУ¬ÎÒÃÇ¿ÉÒÔʹÓÃComposerÀ´×°ÖÃSymfony¡£Ö´ÐÐÒÔÏÂÏÂÁîÀ´×°ÖÃ×îа汾µÄSymfony£¨ÄãÒ²¿ÉÒÔƾ֤ÏîÄ¿ÐèÇóÀ´Ö¸¶¨ÏêϸµÄ°æ±¾£©£º
composer create-project symfony/website-skeleton my_project_name
µÇ¼ºó¸´ÖÆ
¸ÃÏÂÁ»áÔÚÈÝÆ÷ÄÚµÄ/var/www/html/my_project_nameĿ¼Ï½¨ÉèÒ»¸öеÄSymfonyÏîÄ¿¡£Ò»µ©×°ÖÃÍê³É£¬Äã¿ÉÒÔͨ¹ýÍ˳öÈÝÆ÷Öնˣº
exit
µÇ¼ºó¸´ÖÆ
°ì·¨5£º»á¼ûSymfonyÓ¦ÓóÌÐò
ÏÖÔÚ£¬ÎÒÃÇ¿ÉÒÔͨ¹ýä¯ÀÀÆ÷À´»á¼ûSymfonyÓ¦ÓóÌÐòÁË¡£ÔÚÄãµÄä¯ÀÀÆ÷ÖÐÊäÈëhttp://localhost£¬ÄãÓ¦¸ÃÄÜ¿´µ½SymfonyµÄ½Ó´ýÒ³Ã棬ÌåÏÖ×°ÖÃÀֳɡ£
×ܽ᣺
ͨ¹ýÒÔÉÏ°ì·¨£¬ÎÒÃÇÀֳɵØÔÚDockerÖÐ×°ÖÃÁËSymfonyÓ¦ÓóÌÐò¡£Ê¹ÓÃDockerÈÝÆ÷»¯ÊÖÒÕ£¬ÎÒÃÇÄܹ»¿ìËÙ°²ÅÅ¡¢ÔËÐкͲâÊÔSymfonyÓ¦ÓóÌÐò£¬Í¬Ê±Ò²ÈÃÓ¦ÓóÌÐòµÄ¿ª·¢ºÍÉú²úÇéÐÎÔ½·¢Ò»Ö¡£Ï£Íû±¾ÎĶÔÄãÔÚDockerÖÐ×°ÖÃSymfonyÓÐËù×ÊÖú¡£ÈôÊÇÄã¶ÔSymfony¿ò¼Ü»òDockerÈÝÆ÷»¯ÊÖÒÕÓиü¶àÐËȤ£¬¿ÉÒÔ½øÒ»²½ÏêϸÏàʶËüÃǵÄÏà¹ØÎĵµºÍ×ÊÔ´¡£
ÒÔÉϾÍÊǽÌÄãÔõÑùÔÚDockerÖÐ×°ÖÃSymfonyµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡