docker配置 PHP运行环境(windows)

PHP版本:7.2

composer版本:1.6.3

mysql版本:5.7

nginx版本:1.15.0

PHP运行环境采用laradock工具分别加载nginx、PHP等docker容器镜像。

docker版本

采用docker-ce社区版本,具体版本号如下:

Docker version 18.03.1-ce, build 9ee9f40l

安装docker

1.从docker store下载镜像或者软件需要先登录,所以先注册docker账号注册地址

(docker账号的注册流程会有google的人机验证,国内网络对google相关产品的不友好导致这里注册是需要翻墙的。)

2.从docker store下载Docker CE for Windows下载页面

Docker CE for Windows只支持 64位 的 windows 10专业版或企业版

其他版本的windows系统请下载Docker Toolbox

Docker Toolbox 官方文档

Docker Toolbox 下载地址

3.运行刚下载的安装包进行安装

docker for windows 自带 docker-compose ,无需单独安装

更多安装细节可参考官方文档。

注意:

Docker CE for Windows 需要打开系统的Hyper-V功能(在安装完成后docker会弹窗询问是否开启),同时需要在BIOS中开启CPU的虚拟化功能。如果启动docker过程中遇到问题可先查看以上两项是否已开启。

修改docker镜像源

使用docker的时候,经常需要从官方获取镜像。由于网络及GFW的原因,拉取镜像的过程可能会非常耗时,所以我们需要修改docker镜像源为国内的源。

我们采用DaoCloud提供的镜像源:

修改方式请参考:DaoCloud文档

安装laradock

docker安装完成后,接下来我们采用laradock搭建基于docker的PHP运行环境。laradock官方文档:http://laradock.io

1、在D:\home目录下,将 laradock 项目代码克隆到本地

2、进入到D:\home\laradock目录,将env-example重命名为.env

cd laradock cp env-example .env

3、打开.env配置文件,找到如下配置项,并将其修改为如下配置值:


CHANGE_SOURCE=true

PHP_VERSION=7.2

WORKSPACE_INSTALL_XDEBUG=true

PHP_FPM_INSTALL_XDEBUG=true

MYSQL_VERSION=5.7

WORKSPACE_INSTALL_NODE=false

WORKSPACE_INSTALL_YARN=false

WORKSPACE_INSTALL_NPM_GULP=false

WORKSPACE_INSTALL_NPM_BOWER=false

WORKSPACE_INSTALL_NPM_VUE_CLI=false

4、打开D:\home\laradock\nginx\Dockerfile文件,将:

ARG CHANGE_SOURCE=false

修改为:

ARG CHANGE_SOURCE=true

5、创建代码目录。

在与D:\home\laradock同级目录下,创建一个www目录,目录结构如下:

home    ├── laradock    └── www

www即为代码根目录。

6、修改宿主主机项目目录

打开D:\home\laradock\.env配置文件,修改如下配置为:

APP_CODE_PATH_HOST=../www/

这里是设置项目目录的文件映射,将本地的D:\home\www目录映射到容器内的项目目录/var/www

7、关闭opcache。

打开D:\home\laradock\php-fpm\opcache.ini ,修改如下配置为:

opcache.enable="0"

8、通过如下命令即可运行容器:

docker-compose up -d nginx

说明:

-d 表示后台运行

nginx表示运行nginx容器。PHP容器会自动加载,不需要指明

运行后可查看D:\laradock\logs\nginx\error.log文件,里面记录了错误日志

项目运行

1、在D:\home\www目录下,创建名为demo的项目目录:

home    ├── laradock    └── www        └── demo

2、然后在D:\home\www\demo*目录下,新建 demo.php* 文件:

3、项目代码准备好后,接下来我们需要添加nginx配置。打开D:\home\laradock\nginx\sites*目录,新建名为 demo.conf* 的nginx配置文件:

server {

    listen80;   

    server_name demo.marser.cn;   

    root /var/www/demo/;   

    index index.php index.html index.htm;   

    location / {

        try_files$uri$uri/ /index.php$is_args$args;   

    }

    location ~ \.php$ {

        try_files $uri /index.php=404;       

        fastcgi_pass php-upstream;       

        fastcgi_index index.php;

        fastcgi_buffers 16 16k;       

        fastcgi_buffer_size 32k;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        #fixes timeouts

        fastcgi_read_timeout 600;     

        include fastcgi_params; 

    } 

    access_log  /var/log/nginx/demo/access.log; 

    error_log  /var/log/nginx/demo/error.log;

}

说明:

server_name 配置域名

root 配置项目代码目录

access_log 配置访问日志

error_log 配置错误日志

以上配置仅供参考,根据业务情况及时调整。但access_logerror_log必须配置,方便排查错误。

需要注意的是:root配置项中的/var/www/demo/目录会自动映射到宿主主机中的 **D:\home\www\demo*目录。

4、在D:\home\laradock\logs\nginx*目录下创建名为 demo* 的目录来存储demo项目的nginx访问日志和错误日志。

需要注意的是:/var/log/nginx/demo/会自动映射到宿主主机的D:\home\laradock\logs\nginx\demo目录。

5、在D:\home\laradock目录下执行如下命令重启nginx容器:

docker-compose restart nginx

6、最后将配置的域名demo.marser.cn添加到hosts配置中:

127.0.0.1  demo.marser.cn

保存后,在浏览器上访问http://demo.marser.cn/demo.php即可对项目进行正常访问。

数据存储

mysql、redis等数据存储工具,团队中各成员共用一套开发环境。相关信息稍后添加...

hosts切换工具

windows上采用switchhost小工具

mac上采用Gas Mask小工具

参考文档

docker-compose命令

dockfile换源后出现的一些问题

apt-get update出现NO_PUBKEY 

运行如下命令,添加公钥解决:

RUN apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 7EA0A9C3F273FCD8(此处替换成报错提醒的公钥)

你可能感兴趣的:(docker配置 PHP运行环境(windows))