×ðÁú¿­Ê±¹ÙÍøµÇ¼

ʹÓÃDocker´î½¨Symfony¿ª·¢ÇéÐΣº¿ìËÙÉÏÊÖ

ʹÓÃDocker´î½¨Symfony¿ª·¢ÇéÐΣº¿ìËÙÉÏÊÖ

¡¾ÕªÒª¡¿

SymfonyÊÇÒ»¿îÊ¢ÐеÄPHP¿ò¼Ü£¬ÉÁ¿ª·¢Ö°Ô±Äܹ»¿ìËÙ¹¹½¨ºÍ°²ÅÅWebÓ¦ÓóÌÐò¡£ÎªÁ˼ò»¯Symfony¿ª·¢ÇéÐεÄÉèÖúÍÖÎÀí£¬ÎÒÃÇ¿ÉÒÔʹÓÃDocker¾ÙÐÐÈÝÆ÷»¯°²ÅÅ¡£±¾ÎĽ«ÏÈÈÝÔõÑùʹÓÃDocker´î½¨Symfony¿ª·¢ÇéÐΣ¬²¢ÌṩÏêϸµÄ´úÂëʾÀý¡£

¡¾Ð¡Ðò¡¿

ÔڹŰåµÄSymfony¿ª·¢ÖУ¬ÎÒÃÇÐèÒªÊÖ¶¯ÉèÖò¢×°ÖÃËùÐèµÄÈí¼þ¡¢¹¤¾ßºÍÒÀÀµ¡£Õâ¸öÀú³Ìͨ³£·±ËöÇÒÐèÒªÆÆ·Ñ´ó×Úʱ¼ä¡£¶øʹÓÃDocker¿ÉÒÔ½«SymfonyÓ¦ÓóÌÐò´ò°üÔÚÒ»¸ö×ÔÁ¦µÄÈÝÆ÷ÖУ¬°üÀ¨ËùÐèµÄÇéÐκÍ×ÊÔ´£¬Ê¹µÃ°²ÅźͿª·¢±äµÃÔ½·¢¼òÆӺ͸ßЧ¡£

¡¾°ì·¨Ò»£º×°ÖÃDocker¡¿

Ê×ÏÈ£¬ÎÒÃÇÐèҪװÖÃDockerÒýÇ档ƾ֤ÄãµÄ²Ù×÷ϵͳ£¬¿ÉÒÔͨ¹ýÏìÓ¦µÄÇþµÀÏÂÔغÏÊʵÄ×°Öðü£¬²¢Æ¾Ö¤ÌáÐѾÙÐÐ×°Öá£

¡¾°ì·¨¶þ£º½¨ÉèSymfonyÓ¦ÓóÌÐò¡¿

½ÓÏÂÀ´£¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸öSymfonyÓ¦ÓóÌÐò¡£¼ÙÉèÎÒÃǵÄÓ¦ÓóÌÐòÃûΪ”myapp”£¬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÔÚÏÂÁîÐÐÖн¨É裺

$ symfony new myapp
$ cd myapp

µÇ¼ºó¸´ÖÆ

ÒÔÉÏÏÂÁ×Ô¶¯ÏÂÔز¢×°ÖÃSymfonyµÄ×îа汾£¬²¢½¨ÉèÒ»¸öÃûΪ”myapp”µÄĿ¼¡£½øÈë¸ÃĿ¼¡£

¡¾°ì·¨Èý£º½¨ÉèDockerfile¡¿

ÔÚSymfonyÓ¦ÓóÌÐòµÄ¸ùĿ¼ÖУ¬½¨ÉèÒ»¸öÃûΪ”Dockerfile”µÄÎļþ¡£Õâ¸öÎļþÓÃÓÚ½ç˵DockerÈÝÆ÷µÄÉèÖú͹¹½¨°ì·¨¡£½«ÒÔÏÂÄÚÈݸ´ÖƵ½”Dockerfile”ÖУº

FROM php:7.4-apache

WORKDIR /var/www/html

# ×°ÖÃSymfonyËùÐèµÄÀ©Õ¹ºÍÒÀÀµ
RUN apt-get update && apt-get install -y 
        libicu-dev 
        libpq-dev 
    && docker-php-ext-install 
        intl 
        pdo_pgsql

# ¼¤»îApacheµÄrewriteÄ£¿é
RUN a2enmod rewrite

# ¸´ÖÆÓ¦ÓóÌÐò´úÂëµ½ÈÝÆ÷ÖÐ
COPY . .

# ×°ÖÃComposerÒÀÀµ
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN composer install --no-scripts

# ÉèÖÃApacheµÄDocumentRootΪSymfonyµÄpublicĿ¼
RUN sed -ri -e 's!/var/www/html!/var/www/html/public!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!/var/www/html/public!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

# ÉèÖÃApacheÓû§ºÍ×éΪĿ½ñÓû§
RUN chown -R www-data:www-data /var/www/html

CMD [ "apache2-foreground" ]

µÇ¼ºó¸´ÖÆ

ÒÔÉÏDockerfileÉèÖÃÁËÒ»¸ö»ùÓÚphp:7.4-apacheÓ³ÏñµÄSymfony¿ª·¢ÇéÐΡ£ÆäÖаüÀ¨Ò»Ð©»ù±¾µÄÉèÖúÍ×°Öã¬Èç×°ÖÃÀ©Õ¹¡¢¼¤»îrewriteÄ£¿é¡¢¸´ÖÆÓ¦ÓóÌÐò´úÂë¡¢×°ÖÃComposerÒÀÀµµÈ¡£

¡¾°ì·¨ËÄ£º¹¹½¨Docker¾µÏñ¡¿

ÔÚSymfonyÓ¦ÓóÌÐòµÄ¸ùĿ¼ÖУ¬·­¿ªÏÂÁîÐÐÖնˣ¬Ö´ÐÐÒÔÏÂÏÂÁî¹¹½¨Docker¾µÏñ£º

$ docker build -t myapp .

µÇ¼ºó¸´ÖÆ

ÉÏÊöÏÂÁÔÚÄ¿½ñĿ¼ÖеÄDockerfileËùÔÚλÖù¹½¨Ò»¸öÃûΪ”myapp”µÄ¾µÏñ¡£¿ÉÒÔƾ֤ÏÖÕæÏàÐÎÐ޸ľµÏñÃû³Æ¡£

¡¾°ì·¨Î壺ÔËÐÐSymfonyÓ¦ÓóÌÐò¡¿

¹¹½¨¾µÏñÍê³Éºó£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÒÔÏÂÏÂÁîÔËÐÐSymfonyÓ¦ÓóÌÐò£º

$ docker run -p 8000:80 myapp

µÇ¼ºó¸´ÖÆ

ÒÔÉÏÏÂÁÆô¶¯Ò»¸öÃûΪ”myapp”µÄÈÝÆ÷£¬²¢½«ÈÝÆ÷µÄ80¶Ë¿ÚÓ³Éäµ½Ö÷»úµÄ8000¶Ë¿Ú¡£´Ëʱ£¬ÎÒÃÇ¿ÉÒÔÔÚä¯ÀÀÆ÷Öлá¼û”http://localhost:8000″À´Éó²éSymfonyÓ¦ÓóÌÐò¡£

¡¾½áÂÛ¡¿

±¾ÎÄÏÈÈÝÁËÔõÑùʹÓÃDocker¿ìËٴSymfony¿ª·¢ÇéÐΡ£Í¨¹ýʹÓÃDocker£¬¿ÉÒÔ¼ò»¯SymfonyµÄ°²ÅźͿª·¢Àú³Ì£¬²¢Ìá¸ß¿ª·¢Ð§ÂÊ¡£Ï£Íû±¾ÎĵÄÄÚÈÝÄܹ»×ÊÖú¶ÁÕ߸üºÃµØʹÓÃDocker¾ÙÐÐSymfony¿ª·¢¡£

ÒÔÉϾÍÊÇʹÓÃDocker´î½¨Symfony¿ª·¢ÇéÐΣº¿ìËÙÉÏÊÖµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ