阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

利用 Docker 搭建 PHP+Nginx+Laravel 开发环境

236次阅读
没有评论

共计 1528 个字符,预计需要花费 4 分钟才能阅读完成。

制作镜像

由于官方 php:7.2.2-fpm-alpine3.7 镜像不含 composer,而单独做一个 composer 镜像又会依赖 php 镜像,所以应该在 php 镜像中添加 composer.Dockerfile 如下:

FROM php:7.2.2-fpm-alpine3.7
LABEL maintainer="php-composer Docker Maintainers <ikodota@gmail.com>"

RUN php -r "copy('https://getcomposer.org/installer','composer-setup.php');" && \
php composer-setup.php && \
php -r "unlink('composer-setup.php');" && \
mv composer.phar /usr/local/bin/composer && \
composer self-update

生成镜像

docker build -t bx-php:7.2.2-fpm-alpine3.7

准备配置文件:

我的本地配置文件为 /data/server/conf/nginx/conf.d/member.conf

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /app/public;
        index  index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$query_string;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {root   /usr/share/nginx/html;}

    location ~ \.php$ {
        fastcgi_pass   phpfpm:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /app/public/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

运行 docker

运行一个本地数据卷

docker run --name vc_member \
    -v /data/wwwroot/retail/member/src:/app \
    -v /data/server/conf/nginx/conf.d:/etc/nginx/conf.d \
    alpine:latest

执行 php-fpm

docker run --name phpfpm -d \
--volumes-from vc_member \
bx-php:7.2.2-fpm-alpine3.7

需要进入 phpfpm 容器,修改一些配置和文件权限,以及执行 composer install /composer update 等。
注意:
1. 执行 composer install 时,可能会出现“root 用户不能使用的情况”,需要执行:composer install –no-plugins –no-scripts
2.【非常重要】进入 phpfpm 容器:docker exec -it phpfpm sh 然后修改“listen = 127.0.0.1:9000”为“listen = 9000”否则连不上 php
3. 允许 nginx 用户访问:chown -R www-data:www-data /app
4. 赋予 storage 目录写权限:chmod -R 755 /app/storage

运行 nginx

docker run --name nginx -p 8080:80 -d \
--volumes-from vc_member \
--link phpfpm:php \
nginx:1.13.8-alpine

这样直接输入网址就可以打开了。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1528字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中