by Devin Yang

建立于: 6年前 ( 更新: 6年前 )

已调整docker-compose.yml设置档,使用最新的PHP php7.2.1 image。

一、变更fpm的image生成方式,优化dockerfiles/fpm/php7.x/Dockerfiles,可更容易设置及调整扩展包。

二、可透过docker-compose-build.yml,在D-Laravel的Project目录下,
直接Build自己的Image并且调整需要的包,请查看该挡内容说明。

调整: docker-compose-build.yml中的image及路径,再输入
./console build,即可创建自己的image罗。

或是用官方命令,下方需在D-Laravel的目录下运行,创建一个7.1版的php image,image名称取名叫myfpm(请自行设置您想用的名称)。
docker build -t myfpm dockerfiles/fpm/7.1

三、添加dlaravel-swarm.yml(实验),例您想创建丛集高可用环境在Production主机。(进阶操作)
例如,您需自行调整etc/default.conf等相关的fpm设置,因为Docker的swarm的模式下,不支持docker-compose.yml使用networks_mode。

四、新的image添加了额外更多的php外挂设置,给高级的使用者操作。
您可到查看,将设置拷备到dlaravel/etc/php的目录内即可激活。

注: D-Laravel的简易console命令不支持 PostgreSQL,因此您如果采用PostgreSQL,
您需完全使用Docker官方命令来创建容器。
sample/php/samples.ini
例如您想使用:
PDO Driver for PostgreSQL



不相容变更:
dockr-compose默认的php挂载变更:
fpm的路径,由php变更为conf.d了,也就是说,可以到D-Laravel目录下的etc/php/目录中,放自己php的*.ini档。
旧: - ./etc/php:/usr/local/etc/php
新: - ./etc/php:/usr/local/etc/php/conf.d

如果您使用中的D-Laravel运作好的好,可以不用更新,如果您想使用最版本的PHP进行开发,
建议下载新的安装,再将数据库data及sistes数据夹拷备一份到新的dlaravel上测试是否正常。

旧版的D-Laravel用新版的fpm image,PHP 7.1.2 、7.1.13或7.0.27。
请记得在dlaravel/etc/php的目录中,php.ini添加php扩展模块,不然运作会不正常。
extension=zip.so
extension=pdo_mysql.so

另外,请确认您PHP fpm的service container有挂载此路径:
  - ./etc/php:/usr/local/etc/php/conf.d

Tags: dlaravel

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


nginx,dlaravel

如何设置nginx上的HTTPS,取得Qualys的SSL A+评分

本文介绍如何调整nginx的ssl设置,让网站取得SSL报告,取得A+的评比。 这里我使用的为 letsencrypt 免费证书。 只要您使用D-Laravel默认的Docker官方nginx新版image,应该都可以达到跟我一样的效果。 可透过下方检测您的主机SSL设置。 https://www.ssllabs.com/ssltest/index.html

php,docker,dlaravel

我创建的phpenv容器环境简单介绍

没时间拍介绍影片,我就来随便抓些画面介绍我使用的容器环境deviny/phpenv。https://github.com/DevinY/phpenvphpenv算是我之前D-Laravel开源项目的进化版本,概念上延用了很多Dlaravel的操作方式。容器的更新上偏向使用者自行控制去Build自己的image,所以我不太会去更动版号了,其实D-Laravel的php版号,好像我也很久没动啦:p 

dlaravel

D-Laravel上的.env.example档说明

本文说明关於D-Laravel上的.env设置 MYSQL_ROOT_PASSWORD=secret LARAVEL_INSTALLER='container' DOCKER_SERVICES='docker-compose.yml service/redis.yml'