ʹÓÃDocker¿ì½Ý×°ÖÃSymfony
ʹÓÃDocker¿ì½Ý×°ÖÃSymfony
¼ò½é£º
SymfonyÊÇÒ»¸öÊ¢ÐеÄPHP WebÓ¦Óÿò¼Ü£¬ËüÌṩÁËÐí¶à¹¦Ð§ºÍ¹¤¾ß£¬×ÊÖú¿ª·¢Õß¿ìËÙ¹¹½¨¸ßÖÊÁ¿µÄWebÓ¦Óá£ÎªÁËÀû±ãµØ×°ÖúÍÔËÐÐSymfony£¬ÎÒÃÇ¿ÉÒÔʹÓÃDockerÀ´½¨ÉèÒ»¸öÇå½àµÄ¿ª·¢ÇéÐΣ¬²¢ÇÒïÔÌÉèÖúÍÒÀÀµÎÊÌâ¡£
°ì·¨£º
×°ÖÃDockerºÍDocker Compose£º
Ê×ÏÈ£¬ÎÒÃÇÐèÒªÔÚÍâµØ»úеÉÏ×°ÖÃDockerºÍDocker Compose¡£¿ÉÒԲο¼Docker¹Ù·½ÎĵµÀ´Íê³ÉÕâ¸ö°ì·¨¡£
½¨ÉèSymfonyÏîÄ¿£º
·¿ªÒ»¸öÖն˴°¿Ú£¬²¢½øÈëµ½ÄãÏ£Íû½¨ÉèSymfonyÏîÄ¿µÄĿ¼ÖС£
ÔËÐÐÏÂÃæµÄÏÂÁîÀ´½¨ÉèSymfonyÏîÄ¿£º
docker run --rm -v $(pwd):/app composer create-project symfony/skeleton my_project
µÇ¼ºó¸´ÖÆ
¸ÃÏÂÁî»áʹÓÃComposerÔÚÄ¿½ñĿ¼Ï½¨ÉèÒ»¸öSymfonyÏîÄ¿¡£
½¨ÉèDockerÉèÖÃÎļþ£º
ÔÚSymfonyÏîÄ¿µÄ¸ùĿ¼Öн¨ÉèÒ»¸öÃûΪdocker-compose.ymlµÄÎļþ£¬²¢Ìí¼ÓÒÔÏÂÄÚÈÝ£º
version: '3' services: web: build: context: . dockerfile: docker/Dockerfile ports: - 8000:80 volumes: - .:/app db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: root_password
µÇ¼ºó¸´ÖÆ
ÕâÀïÎÒÃǽ¨ÉèÁËÁ½¸öЧÀÍ£ºwebºÍdb¡£ÆäÖÐwebЧÀÍʹÓÃÎÒÃÇ×Ô½ç˵µÄDocker¾µÏñÀ´ÔËÐÐSymfonyÓ¦Ó㬲¢½«ÈÝÆ÷ÄÚ²¿µÄ80¶Ë¿ÚÓ³Éäµ½Ö÷»úµÄ8000¶Ë¿Ú¡£dbЧÀÍÔòʹÓÃMySQL 5.7µÄ¹Ù·½¾µÏñ¡£
½¨ÉèDockerfile£º
ÔÚSymfonyÏîÄ¿µÄ¸ùĿ¼Ï½¨ÉèÒ»¸öÃûΪDockerµÄĿ¼£¬²¢ÔÚÆäÖн¨ÉèÒ»¸öÃûΪDockerfileµÄÎļþ¡£½«ÒÔÏÂÄÚÈÝÌí¼Óµ½DockerfileÖУº
FROM php:7.4-apache RUN apt-get update && apt-get install -y libicu-dev libpq-dev libzip-dev && docker-php-ext-install -j$(nproc) pdo pdo_mysql pdo_pgsql intl zip && a2enmod rewrite
µÇ¼ºó¸´ÖÆ
Õâ¸öDockerfileÎļþÊÇÓÃÀ´¹¹½¨ÎÒÃÇ×Ô½ç˵µÄSymfonyÓ¦ÓþµÏñµÄ¡£¸Ã¾µÏñ½«»ùÓÚ¹Ù·½µÄphp:7.4-apache¾µÏñ£¬²¢×°ÖÃһЩÐëÒªµÄÒÀÀµ¡£
¹¹½¨ºÍÔËÐÐSymfonyÓ¦Óãº
ÔÚÖÕ¶ËÖУ¬½øÈëSymfonyÏîÄ¿¸ùĿ¼²¢ÔËÐÐÒÔÏÂÏÂÁîÀ´¹¹½¨ºÍÆô¶¯SymfonyÓ¦Óãº
docker-compose up -d
µÇ¼ºó¸´ÖÆ
Õâ¸öÏÂÁî»á×Ô¶¯¹¹½¨×ðÁú¿Ê±SymfonyÓ¦ÓþµÏñ£¬²¢Æô¶¯Ïà¹ØµÄÈÝÆ÷¡£ÔÚ¹¹½¨ºÍÆô¶¯Àú³ÌÖУ¬Äã¿ÉÒÔÔÚÖÕ¶ËÖп´µ½Êä³öµÄÈÕÖ¾ÐÅÏ¢¡£
»á¼ûSymfonyÓ¦Óãº
SymfonyÓ¦ÓÃÏÖÔÚÓ¦¸ÃÒѾÀÖ³ÉÔËÐÐÔÚhttp://localhost:8000µØµãÉÏÁË¡£Äã¿ÉÒÔÔÚä¯ÀÀÆ÷Öлá¼û¸ÃµØµã£¬¿´µ½Symfony½Ó´ýÒ³Ãæ¡£
×ܽ᣺
ʹÓÃDocker¿ì½Ý×°ÖÃSymfony¿ÉÒÔïÔÌÉèÖúÍÒÀÀµÎÊÌ⣬ÈÃÎÒÃǸüרעÓÚSymfonyÓ¦ÓÃ×Ô¼ºµÄ¿ª·¢¡£Í¨¹ýÉÏÊö°ì·¨£¬Äã¿ÉÒÔ¿ìËÙ½¨ÉèÒ»¸öÇå½àµÄ¿ª·¢ÇéÐΣ¬´Ó¶ø¸ü¸ßЧµØ¿ª·¢SymfonyÓ¦Óá£Ï£Íû±¾ÎĶÔÄãÓÐËù×ÊÖú£¬×£ÄãÀÖ³ÉʹÓÃDockerÀ´×°ÖÃSymfony²¢¾ÙÐпª·¢ÊÂÇ飡
ÒÔÉϾÍÊÇʹÓÃDocker¿ì½Ý×°ÖÃSymfonyµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡