Laradock 搭建基于Docker 的PHP开发环境

Laradock 搭建基于Docker 的PHP开发环境

  • Laradock简介
  • 搭建开始
    • 1、搭建条件
    • 2、搭建步骤
  • Laradock功能特性
  • 相应的层级目录关系

  • Laradock简介

Laradock 是为 Docker 提供的完整 PHP 本地开发环境,和 Homestead 一样提供了一系列打包好(包括配置)的
Docker Image。Laradock 早期专注为 Laravel 打造 Docker 开发环境,因而最早在 Laravel
社区中出名,后来随着影响力的扩大,逐渐被 PHP 社区接纳和采用,目前支持的 PHP 项目除了 Laravel 之外,还有
Symfony、CodeIgniter、WordPress、Drupal 等等。

  • 搭建开始

  • 1、搭建条件

    • Git
    • Docker >= 1.12
    • 安装Docker-Compose
  • 2、搭建步骤

  • 创建目录[/var下]

      [root@localhost /]# mkdir -p /var/docker
      [root@localhost /]# mkdir -p /var/docker/wwwroot
      [root@localhost /]# cd /var/docker/
    
  • 克隆Laradock 项目[/var/docker下]

       [root@localhost docker]# git clone https://github.com/Laradock/laradock.git
    
  • 将 env-example 复制并重命名为 .env

      [root@localhost docker]# cd laradock/
      [root@localhost laradock]# cp env-example .env
    
  • 修改.env配置

    相当于为 wwwroot 与 Docker 的 /var/www 目录建立了软链接

     [root@localhost laradock]# vi .env
     修改如下:
     APP_CODE_PATH_HOST=../wwwroot
    
  • 创建一个新的 Laravel 应用

    [root@localhost wwwroot]# git clone https://github.com/laravel/laravel ityangs
    
  • 新增 laradock/nginx/sites/ityangs.conf 中的映射关系

    [root@localhost wwwroot]# cp /var/docker/laradock/nginx/sites/default.conf /var/docker/laradock/nginx/sites/ityangs.conf
    [root@localhost sites]# vi /var/docker/laradock/nginx/sites/ityangs.conf 
    

修改如图:
Laradock 搭建基于Docker 的PHP开发环境_第1张图片

  • 运行容器【laradock目录下启动:nginx mysql redis】

    [root@localhost laradock]# docker-compose up -d nginx mysql redis beanstalkd
    

注意:

这样,我们就可以在浏览器中通过 http://ityangs.com访问这个应用了,
如果是虚该域名不是公网可以访问的话,需要在本地hosts下映射IP与域名的映射关系:

  [root@localhost ~]# vi /etc/hosts 
  127.0.0.1 ityangs.com

如图:
Laradock 搭建基于Docker 的PHP开发环境_第2张图片

Laradock功能特性

  1. 可轻松在不同版本 PHP 之间切换: 7.1、7.0、5.6 等
  2. 自由选择数据库: MySQL、Postgres、MariaDB 等
  3. 运行自己的软件: Memcached、HHVM、Beanstalkd 等
  4. 每个软件都运行在隔离的容器中: PHP-FPM、NGINX、PHP-CLI 等
  5. 轻松自定义容器,只需编辑 Dockerfile 文件即可
  6. 所有的镜像都扩展自官方的镜像
  7. 预配置的 NGINX
  8. 可以在每个项目中使用 Laradock, 也可以让所有项目共享一个 Laradock
  9. 使用环境变量在容器中轻松安装/卸载软件
  10. 干净、结构良好的 Dockerfile
  11. 最新版本的 docker-compose 文件
  12. 一切均可见、可编辑
  13. 快速构建镜像

除此之外,Laradock 支持的软件包括:

  1. 数据库引擎: MySQL - MariaDB - Percona - MongoDB - Neo4j - RethinkDB - MSSQL - PostgreSQL - Postgres-PostGIS.
  2. 数据库管理工具: PhpMyAdmin - Adminer - PgAdmin
  3. 缓存工具: Redis - Memcached - Aerospike
  4. Web 服务器: NGINX - Apache2 - Caddy
  5. PHP 编译器: PHP FPM - HHVM
  6. 消息队列: Beanstalkd - RabbitMQ - PHP Worker
  7. 队列管理器: Beanstalkd Console - RabbitMQ Console
  8. 大国重器: HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Mailhog - Minio - Varnish - 1. Swoole -
    Laravel Echo 等
  9. Laradock 还引入了 Workspace 镜像作为开发环境,里面包含了丰富且实用的工具集:PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug -
    Envoy - Deployer - Vim - Yarn - SOAP - Drush 等
  • 相应的层级目录关系

     [root@localhost var]# tree /var/docker/ --charset=gbk -L 2
     /var/docker/
     |-- laradock
     |   |-- adminer
     |   |-- aerospike
     |   |-- apache2
     |   |-- aws-eb-cli
     |   |-- beanstalkd
     |   |-- beanstalkd-console
     |   |-- caddy
     |   |-- cassandra
     |   |-- certbot
     |   |-- couchdb
     |   |-- docker-compose.sync.yml
     |   |-- docker-compose.yml
     |   |-- docker-registry
     |   |-- docker-sync.yml
     |   |-- docker-web-ui
     |   |-- DOCUMENTATION
     |   |-- elasticsearch
     |   |-- env-example
     |   |-- gitlab
     |   |-- grafana
     |   |-- graylog
     |   |-- haproxy
     |   |-- hhvm
     |   |-- ide-codiad
     |   |-- ide-icecoder
     |   |-- ide-theia
     |   |-- ide-webide
     |   |-- ipython
     |   |-- jenkins
     |   |-- jupyterhub
     |   |-- kibana
     |   |-- laravel-echo-server
     |   |-- laravel-horizon
     |   |-- LICENSE
     |   |-- logs
     |   |-- logstash
     |   |-- maildev
     |   |-- mailhog
     |   |-- manticore
     |   |-- mariadb
     |   |-- memcached
     |   |-- minio
     |   |-- mongo
     |   |-- mongo-webui
     |   |-- mosquitto
     |   |-- mssql
     |   |-- mysql
     |   |-- neo4j
     |   |-- nginx
     |   |-- percona
     |   |-- php-fpm
     |   |-- phpmyadmin
     |   |-- php-worker
     |   |-- portainer
     |   |-- postgres
     |   |-- postgres-postgis
     |   |-- rabbitmq
     |   |-- redis
     |   |-- redis-cluster
     |   |-- redis-webui
     |   |-- rethinkdb
     |   |-- selenium
     |   |-- solr
     |   |-- sonarqube
     |   |-- sync.sh
     |   |-- thumbor
     |   |-- traefik
     |   |-- travis-build.sh
     |   |-- varnish
     |   |-- workspace
     |   `-- zookeeper
     `-- wwwroot
         `-- ityangs【应用】
    

你可能感兴趣的:(PHP相关,redis,MySQL,Centos,Docker,Laradock)