Docker-用LaraDock搭建PHP环境

简介

LaraDock 致力于简化创建开发环境过程,能够帮助我们在 Docker 上快速搭建 PHP 开发环境。 它预装了 Docker 镜像,为我们提供了一站式的开发环境,而不需要再去在本地机器安装 PHP、Nginx、MySQL 以及其他很多开发过程中需要的软件。

特点:

  • 在 PHP 版本:7.0,5.6.5.5...之中可以简单切换。
  • 可选择你最喜欢的数据库引擎,比如:MySQL, Postgres, MariaDB...
  • 可运行自己的软件组合,比如:Memcached, HHVM, Beanstalkd...
  • 所有软件运行在不同的容器之中,比如:PHP-FPM, NGINX, PHP-CLI...
  • 通过简单的编写 Dockerfile 容易定制任何容器。
  • 所有镜像继承自一个官方基础镜像(Trusted base Images)
  • 可预配置Laravel的Nginx环境
  • 容易应用容器中的配置 配置文件(Dockerfile)
  • 最新的 Docker Compose 版本(docker-compose)
  • 所有的都是可视化和可编辑的
  • 快速的镜像构建
  • 每周都会有更新...

相关资料:

LaraDock 官网:http://laradock.io

LaraDock Github:https://github.com/LaraDock/laradock 国内下载速度有些慢,可以使用Gitee:https://gitee.com/mirrors/Laradock

安装

请确保已安装Docker,LaraDock 镜像的原理先不介绍,直接进入安装步骤。

可参考:

1. 建立工作目录

新建 webroot 目录,laradock 和项目的代码都将放在该目录下(也可以直接使用以前的 web 根目录):

$ mkdir webroot && cd webroot

2. 克隆 LaraDock 代码

进入 webroot 目录,执行以下命令:

$ git clone https://github.com/Laradock/laradock.git
// 或 git clone https://gitee.com/mirrors/Laradock.git

3. 生成 LaraDock 配置文件

进入 laradock 目录,执行以下命令:

$ cp env-example .env

如需配置 Nginx 端口、Mysql 密码等,均在 .env 文件中设置即可。

# 本机项目存放的目录,默认是和laradock同级,视个人情况修改
APP_CODE_PATH_HOST=../

# 容器中存放项目的目录,是会和本机项目的目录建立起软链接
APP_CODE_PATH_CONTAINER=/var/www

# 存放数据的目录
DATA_PATH_HOST=~/.laradock/data

4. 开启容器

更改完自己的项目配置后,运行docker-compose构建容器。
在 laradock 目录下执行以下命令,可以选择自己需要启动的容器:

$ docker-compose up -d nginx mysql redis

由于Laradock中的软件源并没有为国内做优化,都是默认在国外的。所以构造速度视网络情况,如果比较慢可以只构建基本的nginx和mysql,它们会自动构建php-fpm 和 workspace这两个两个容器,后续需要什么服务等要用到时候再去构建。如果特别的慢可以去找下Laradock国内修改版的。

默认情况下,创建的容器具有当前目录名称作为后缀(例如laradock_workspace_1

注:所有Web服务器容器nginxapache..依赖于php-fpm,这意味着如果您运行其中任何一个,它们将自动php-fpm为您启动容器,因此无需在 up 命令中明确指定它。

创建项目(这里我们用Laravel为例)

构建完成后,在laradock同级目录下创建一个laravel的项目叫myproject

$ composer create-project --prefer-dist laravel/laravel myproject

如果composer安装速度太慢请更换composer源为国内镜像。

laravel install :

composer install
cp .env.example .env
php artisan key:generate
chmod -R 777 storage
chmod -R 777 bootstrap/cache

现在打开http://localhost 项目返回404,需要配置nginx。

进去laradock下的nginx/sites下复制出laravel.conf来更改配置:

$ cd laradock/nginx/sites
$ cp laravel.conf.example laravel.conf
$ vim laravel.conf

将域名和路径改下:

.
.
server_name myproject.test;
root /var/www/myproject/public;
.
.

修改完后重启laradock_nginx,也就是重启nginx

$ docker restart laradock_nginx_1

重启成功后,编辑hosts

$ sudo vim /etc/hosts

新增需要解析的网站,将0.0.0.0和之前设定的域名关联

.
.
0.0.0.0 myproject.test
.
.

修改完后浏览器打开http://myproject.test就可以访问了

猜你喜欢

转载自www.cnblogs.com/stringarray/p/12900430.html