在Docker上运行PHP程序

LaraDock 致力于让开发过程变得简单,包含了一个已经预包装好的Docker映像以便为我们提供一流的开发环境而不需要再手动安装PHP、Nginx、MySQL、Redis以及其他运行Laravel应用可能要用到的软件或工具。
本章讲主要介绍如何通过LaraDock快速的搭建php全栈开发环境。

预备知识

开始之前,本章假设你已经具备了以下知识:

  • 阅读完Docker文档快速入门部分
  • 对php有一定了解
  • 安装Docker 1.13或更高版本
  • 安装git

快速安装

  1. clone LaraDock

    git clone https://github.com/Laradock/laradock.git

    这一步,笔者建议读者不要急着进行下一步,而是仔细阅读clone下来的源码,从docker-compose.yml文件开始,一层一层的向后找,如果你认真阅读并实践了快速入门部分,相信在这一步不会遇到太大问题,否则,请返回快速入门部分,认真阅读并动手实践该部分内容。

  2. 进入laradock目录,将env-example重命名为.env
    cp env-example .env

    .envLaraDock的配置文件,你可以在该文件内配置数据库连接,挂载的目录等大多数配置信息
    注意:APPLICATION=../该配置项是配置php应用入口文件所在的目录,在下一步会单独介绍

  3. 创建index.php
    在上一步配置项APPLICATION=../所指向的目录(默认就是laradock文件夹的同级目录)中创建public/index.php,并在index.php内编辑

    <?php
    echo "Hello DockDev";

    为什么是public/index.php而不是直接指向index.php
    LaraDock其实是取Laravel+Docker之意, LaraDock最初是为Laravel框架而生,Laravel框架的入口文件指向public目录,而Laravel又是目前最流行的php框架,所以 LaraDock保留了这个设置。
    怎样修改?
    nginx为例,打开laradock/nginx/sites/default.conf,修改root /var/www/public;root /var/www;(是不是很眼熟?对,其实就是修改服务器配置文件,所以apache同理)

  4. 开启容器

    docker-compose up -d nginx mysql

    该命令启动nginxmysql两个容器,另外workspacephp-fpm这两个容器会运行在大多数php应用中,所以也会被自动启动。如果您想启动更多容器,开启更多服务,可在docker-compose up -d命令后面添加更多服务名称如:docker-compose up -d nginx mysql redis memcached

  5. 成功运行
    打开浏览器,输入 http://localhost

    如果页面输出'Hello DockDev',说明一切顺利,php环境已搭建完毕。

-- END

暂无评论~~