Laravel 的 Docker 开发环境-基于centos系统
发表于:2025-12-06 作者:千家信息网编辑
千家信息网最后更新 2025年12月06日,1 规划软件:PHP 7.2、Nginx、MySQL、Composer、NPM AND Yarn 等等;易于扩展使用,如随时可以切换 PHP 版本,或者 Apache 和 Nginx 切换使用。规划
千家信息网最后更新 2025年12月06日Laravel 的 Docker 开发环境-基于centos系统
1 规划
软件:PHP 7.2、Nginx、MySQL、Composer、NPM AND Yarn 等等;易于扩展使用,如随时可以切换 PHP 版本,或者 Apache 和 Nginx 切换使用。规划: 先在centos镜像安装php-fpm和laravel的需要依赖包,使用supervisord监控php-fpm的启动,然后通过挂载项目的目录到容器之内 执行脚本构建项目。实现项目发布和更新迭代。此处我仅仅处理了lavravel的php和依赖环境,并没有处理nginx和mysql的环境,后期会出关于其他依赖的环境的操作。
2 部署需要的安装包
php-fpm 7.2
我这里懒省事直接在容器里面安装处理了(开启模块: opcache imagick fileinfo redis swoole ) wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --php_option 7 --phpcache_option 1 --php_extensions zendguardloader,ioncube,imagick,fileinfo,redis,swoolenode
我这里选择 node-v10.10.0-linux-x64.tar.gz wget https://nodejs.org/download/release/v10.10.0/node-v10.10.0-linux-x64.tar.gztar xf node-v10.10.0-linux-x64.tar.gz mv node-v10.10.0 /usr/local/nodeyarn
wget install -y https://github.com/yarnpkg/yarn/releases/download/v1.13.0/yarn-1.13.0-1.noarch.rpmyum install -y yarn-1.13.0-1.noarch.rpm安装 nodejs 8
curl -sL https://rpm.nodesource.com/setup_8.x | bash -安装compose
cd /usr/local/bincurl -s https://getcomposer.org/installer | phpchmod a+x composer.phar composer.phar self-update mv composer.phar composer supervisor安装
yum install -y epel-release yum install -y supervisor配置环境启动脚本和supervisor启动配置
[root@58b32f9d29d0 /]# cat /root/startphp-fpm.sh #!/bin/bash supervisord -n -c /etc/supervisord.conf [root@58b32f9d29d0 /]# cat /etc/supervisord.conf |grep -vE "^;|^$" [unix_http_server] file=/var/run/supervisor/supervisor.sock ; (the path to the socket file) [supervisord] logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB) logfile_backups=10 ; (num of main logfile rotation backups;default 10) loglevel=info ; (log level;default info; others: debug,warn,trace) pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) nodaemon=false ; (start in foreground if true;default false) minfds=1024 ; (min. avail startup file descriptors;default 1024) minprocs=200 ; (min. avail process descriptors;default 200) [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [supervisorctl] serverurl=unix:///var/run/supervisor/supervisor.sock ; use a unix:// URL for a unix socket [program:php-fpm] process_name=%(program_name)s_%(process_num)02d command=/usr/local/php/sbin/php-fpm --fpm-config /usr/local/php/etc/php-fpm.conf #stdout_logfile=/data/wwwlogs/php-fpm-sup.log autostart=true autorestart=true startretries=5 exitcodes=0,2,70 stopsignal=QUIT stopwaitsecs=2 [include] files = supervisord.d/*.ini处理完毕 删除安装包和清理yum缓存 打包为镜像
rm -fr oneinstack-full.tar.gz oneinstack yarn-1.13.0-1.noarch.rpm node-v10.10.0-linux-x64.tar.gz yum cleal all打包为镜像laravel 环境
docker commit -a "laravel 环境初始化" 58b32f9d29d0 hanye131/fangxinerp:supvisor_php-fpm72启动镜像
docker run -itd --name=test1 -v /data/startphp-fpm.sh:/root/startphp-fpm.sh -v /data/supervisord.conf:/etc/supervisord.conf hanye131/fangxinerp:supvisor_php-fpm72模拟项目启动
docker run -itd --name=test1 -v /data/startphp-fpm.sh:/root/startphp-fpm.sh -v /data/supervisord.conf:/etc/supervisord.conf -v /var/www/html:/var/www/html -v /root/laravel-install.sh:/root/laravel-install.sh: hanye131/fangxinerp:supvisor_php-fpm72/root/laravel-install.sh
#!/bin/bash export PATH=/usr/local/php/bin:/usr/local/php/sbin:/usr/local/node/bin:$PATH cd /var/www/html composer install yarn install php artisan migrate --force php artisan queue:restart npm run devDockerfile
FROM centos:latestMAINTAINER hz7726@163.comENV PATH /usr/local/php/bin:/usr/local/php/sbin:/usr/local/node/bin:$PATHRUN yum install -y wget \ && mkdir -p /data/docker \ && cd /data/docker \ && wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --php_option 7 --phpcache_option 1 --php_extensions zendguardloader,imagick,fileinfo,redis,swoole \ && wget https://nodejs.org/download/release/v10.10.0/node-v10.10.0-linux-x64.tar.gz \ && tar xf node-v10.10.0-linux-x64.tar.gz \ && mv node-v10.10.0-linux-x64 /usr/local/node \ && curl -sL https://rpm.nodesource.com/setup_8.x | bash - \ && wget https://github.com/yarnpkg/yarn/releases/download/v1.13.0/yarn-1.13.0-1.noarch.rpm \ && yum install -y yarn-1.13.0-1.noarch.rpm COPY php_etc.tar.gz /usr/local/php/etc/RUN cd /usr/local/php/etc/ \ && tar xf php_etc.tar.gz#COPY /data/php-fpm /etc/init.d/php-fpm#COPY /data/composer /usr/local/bin/composer#RUN chmod +x /etc/init.d/php-fpm \#&& chkconfig --add php-fpm \&& sed -i 's@disable_functions@;disable_functions@' /usr/local/php/etc/php.ini\&& rm -fr /data/docker && yum cleal allCMD ['/usr/local/php/sbin/php-fpm','--fpm-config','/usr/local/php/etc/php-fpm.conf']https://gitee.com/hanyehell/DockerInstall/tree/master/docker-Laravel-php-fpm
环境
镜像
项目
处理
容器
脚本
切换
规划
配置
省事
模块
版本
目录
缓存
软件
项目发布
更新
监控
迭代
选择
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
民政网络安全自查报告
cf端游怎么解决网络技术
ps5 连不上ea服务器
流媒体服务器实际作用
服务器怎么接入摄像头
字符型指的哪些数据库
网络技术指导员
飞机服务器下载
四川数据网络安全工程收费
易语言清空数据库
大海战2服务器在哪
种子信息与计算机网络技术
软件开发人员的岗位怎么写
高校网络安全事件应急预案
彭水网络安全审计系统咨询公司
工商软件开发中心校招笔试
预防网络安全的宣传标语
江苏常用网络技术推荐咨询
通过网络技术提供服务的
网络安全进校园手抄报儿歌
专业微信软件开发
http服务器编写
购买一个服务器放在家里
软件开发过程中数据结构
网络安全危害事件案例
软件开发项目怎么排期
大数据vs 传统数据库
仿12306铁路数据库
网络安全教育ppt课件
数据库菜单顺序