½Ì³Ì£ºÊ¹ÓÃDockerÀ´×°ÖÃSymfony
½Ì³Ì£ºÊ¹ÓÃDockerÀ´×°ÖÃSymfony
SymfonyÊÇÒ»¸öÊ¢ÐеÄPHP¿ò¼Ü£¬ÓÃÓÚ¹¹½¨¸ßÐÔÄÜ¡¢¿ÉÀ©Õ¹µÄWebÓ¦ÓóÌÐò¡£ÔÚ¿ª·¢SymfonyÓ¦ÓóÌÐòʱ£¬Ê¹ÓÃDocker¿ÉÒÔÀû±ãµØ½¨ÉèÒ»¸ö×ÔÁ¦µÄ¿ª·¢ÇéÐΣ¬ÒÔ±ãÓÚÍŶÓÐ×÷ºÍÓ¦ÓóÌÐòµÄ°²ÅÅ¡£±¾½Ì³Ì½«Ö¸µ¼ÄúÔõÑùʹÓÃDockerÀ´×°ÖÃSymfony£¬²¢ÌṩÏêϸµÄ´úÂëʾÀý¡£
°ì·¨1£º×°ÖÃDockerºÍDocker Compose
Ê×ÏÈ£¬ÄúÐèÒªÔÚÄúµÄÅÌËã»úÉÏ×°ÖÃDockerºÍDocker Compose¡£Äú¿ÉÒÔÇ°ÍùDocker¹Ù·½ÍøÕ¾£¬Æ¾Ö¤ÄúµÄ²Ù×÷ϵͳÏÂÔز¢×°ÖÃÏìÓ¦°æ±¾µÄDocker¡£×°ÖÃÍê³Éºó£¬Í¨¹ýÔÚÖÕ¶ËÖÐÔËÐÐÒÔÏÂÏÂÁîÀ´ÑéÖ¤DockerµÄ×°ÖÃÇéÐΣº
docker --version docker-compose --version
µÇ¼ºó¸´ÖÆ
°ì·¨2£º½¨ÉèSymfonyÓ¦ÓóÌÐò
½ÓÏÂÀ´£¬ÄúÐèÒª½¨ÉèÒ»¸öSymfonyÓ¦ÓóÌÐò¡£ÔÚÏÂÁîÐÐÖУ¬µ¼º½µ½ÄúÏëÒª½¨ÉèÓ¦ÓóÌÐòµÄĿ¼£¬È»ºóÖ´ÐÐÒÔÏÂÏÂÁ
docker run --rm -v $(pwd):/app -w /app/ composer create-project symfony/website-skeleton myapp
µÇ¼ºó¸´ÖÆ
Õâ¸öÏÂÁî»áÔËÐÐÒ»¸öÔÝʱµÄÈÝÆ÷£¬°ÑÄ¿½ñĿ¼¹ÒÔص½ÈÝÆ÷ÖеÄ/appĿ¼£¬²¢Ê¹ÓÃComposerÀ´½¨ÉèÒ»¸öÃûΪmyappµÄSymfonyÓ¦ÓóÌÐò¡£
°ì·¨3£º±àдDockerfile
ÔÚÄúµÄÓ¦ÓóÌÐòĿ¼ÖУ¬½¨ÉèÒ»¸öÃûΪDockerfileµÄÎļþ£¬²¢ÔÚÆäÖÐÌí¼ÓÒÔÏÂÄÚÈÝ£º
FROM php:7.4-apache # ×°ÖÃMySQLÀ©Õ¹ RUN docker-php-ext-install pdo pdo_mysql # ÉèÖÃÊÂÇéĿ¼ WORKDIR /var/www/html # ¿½±´Ó¦ÓóÌÐò´úÂë COPY . /var/www/html # ÉèÖÃApacheµÄDocumentRoot 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 service apache2 restart
µÇ¼ºó¸´ÖÆ
Õâ¸öDockerfile»ùÓÚ¹Ù·½µÄphp:7.4-apache¾µÏñ£¬²¢×°ÖÃÁËÐèÒªµÄMySQLÀ©Õ¹¡£Ëü»¹½«ÊÂÇéĿ¼ÉèÖÃΪ/var/www/html£¬²¢½«Ó¦ÓóÌÐò´úÂ븴ÖƵ½ÈÝÆ÷ÖС£×îºó£¬ËüÉèÖÃÁËApacheµÄDocumentRootΪ/var/www/html/public£¬²¢ÖØÆôÁËApacheЧÀÍ¡£
°ì·¨4£º±àдdocker-composeÎļþ
ÔÚÄúµÄÓ¦ÓóÌÐòĿ¼ÖУ¬½¨ÉèÒ»¸öÃûΪdocker-compose.ymlµÄÎļþ£¬²¢ÔÚÆäÖÐÌí¼ÓÒÔÏÂÄÚÈÝ£º
version: '3' services: web: build: context: . dockerfile: Dockerfile ports: - 80:80 volumes: - .:/var/www/html
µÇ¼ºó¸´ÖÆ
Õâ¸ödocker-composeÎļþ½ç˵ÁËÒ»¸öЧÀÍ(web)£¬Ê¹ÓÃ֮ǰ½¨ÉèµÄDockerfileÀ´¹¹½¨ÈÝÆ÷¡£Ëü½«ÈÝÆ÷µÄ80¶Ë¿ÚÓ³Éäµ½Ö÷»úµÄ80¶Ë¿Ú£¬²¢½«ÍâµØµÄÓ¦ÓóÌÐòĿ¼¹ÒÔص½ÈÝÆ÷µÄ/var/www/htmlĿ¼¡£
°ì·¨5£ºÆô¶¯SymfonyÓ¦ÓóÌÐò
ÔÚÖÕ¶ËÖУ¬µ¼º½µ½ÄúµÄÓ¦ÓóÌÐòĿ¼£¬²¢Ö´ÐÐÒÔÏÂÏÂÁîÀ´Æô¶¯SymfonyÓ¦ÓóÌÐò£º
docker-compose up -d
µÇ¼ºó¸´ÖÆ
Õâ¸öÏÂÁî»áÆô¶¯Ò»¸öºǫ́ÔËÐеÄÈÝÆ÷£¬ÆäÖÐÔËÐÐÁËSymfonyÓ¦ÓóÌÐò¡£
°ì·¨6£º»á¼ûSymfonyÓ¦ÓóÌÐò
ÏÖÔÚ£¬Äú¿ÉÒÔͨ¹ýÔÚä¯ÀÀÆ÷Öлá¼ûhttp://localhost À´»á¼ûSymfonyÓ¦ÓóÌÐò¡£
×ܽ᣺
ͨ¹ýʹÓÃDocker£¬Äú¿ÉÒÔºÜÈÝÒ׵ؽ¨ÉèÒ»¸ö×ÔÁ¦µÄSymfony¿ª·¢ÇéÐΣ¬²¢¼ÓËÙÍŶÓÐ×÷ÒÔ¼°Ó¦ÓóÌÐòµÄ°²ÅÅ¡£±¾½Ì³ÌÌṩÁË×°ÖÃSymfonyËùÐèµÄÏêϸ´úÂëʾÀý£¬Ï£ÍûÄÜ×ÊÖúÄú˳Ëì×îÏÈʹÓÃDockerÀ´¿ª·¢ºÍ°²ÅÅSymfonyÓ¦ÓóÌÐò¡£×£ÄúÀֳɣ¡
ÒÔÉϾÍÊǽ̳̣ºÊ¹ÓÃDockerÀ´×°ÖÃSymfonyµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡