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

½Ì³Ì£ºÊ¹ÓÃ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µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

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

Ïà¹ØÐÂÎÅ

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

13452372176

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

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

QR code
ÍøÕ¾µØͼ