[进阶篇]docker编排PHP开发坏境

图片描述

Docker是一个开源的引擎,能够轻松的为任何应用建立一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试经过的容器能够批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其余的基础应用平台。容器技术是继大数据和云计算以后又一煊赫一时的技术,并且将来至关一段时间内都会很是流行。

概述

因为本人经常使用Windows电脑就索性就选择win10系统来使用docker,因为docker在win10如下运行须要安装虚拟机,果断的升级到win0专业版,win10所提供的Hyper-V服务(目前仅专业版、企业版支持)完美解决了运行虚拟机各类卡的问题。php

  • 本文主要使用docker-compose编排PHP基本环境:mysql

    • nginx
    • PHP
    • MySQL
    • Redis
    • MySQL在线管理
    • Redis在线管理
适用于Windows、Linux、MacOs部署PHP运行环境

结构简介

图片描述

目录结构

├── conf                    配置文件目录
│   ├── conf.d              Nginx用户站点配置目录
│   ├── nginx.conf          Nginx默认配置文件
│   ├── mysql.cnf           MySQL用户配置文件
│   ├── php-fpm.conf        PHP-FPM配置文件(部分会覆盖php.ini配置)
│   └── php.ini             PHP默认配置文件
├── docker-compose.yml      PHP最新版docker-compose项目文件
├── log                     Nginx日志目录
├── mysql                   MySQL数据目录8.0
├── php                     PHP7.2
└── www                     PHP代码目录
使用前须要搭建 git、docker、docker-compose

使用方法

  1. clone项目nginx

    $ git clone https://github.com/LoyaltyLu/docker.git
  2. Linux下须要将当前用户加入docker用户组git

    $ sudo gpasswd -a ${USER} docker
  3. 启动环境github

    $ cd dockerphp
    $ docker-compose up
  4. 初次启动须要初始化镜像编译环境因此时间稍微长点就要看服务器或本身网速
  5. 安装成功后访问localhost

clipboard.png

容器基本使用介绍

容器使用networks方式进行通讯

日志查看

log文件生成位置可在conf下配置文件中自行更改,更改时须要相对应更改docker-compose对应映射目录,以便对日志数据持久化存储sql

composer

在PHP容器中默认安装composer进入容器后便可使用。docker

  • 容器进入:bash

    $ docker exec -it <容器名> /bin/bash

phpMyAdmin

phpMyAdmin 暴露端口:8080服务器

phpRedisAdmin

phpRedisAdmin 暴露端口:8081composer

使用XDEBUG调试

环境中安装XDEBUG了调试,需对php.ini进行配置后启用,配置以下:

[XDebug]
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "172.17.0.1"
xdebug.remote_port = 9000
xdebug.remote_log = "/var/log/dnmp/php.xdebug.log"

配置完成后须要重启下PHP容器。

相关文章
相关标签/搜索