40

图片描述

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。容器技术是继大数据和云计算之后又一炙手可热的技术,而且未来相当一段时间内都会非常流行。

概述

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

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

    • 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项目

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

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

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

clipboard.png

容器基本使用介绍

容器使用networks方式进行通信

日志查看

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

composer

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

  • 容器进入:

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

phpMyAdmin

phpMyAdmin 暴露端口:8080

phpRedisAdmin

phpRedisAdmin 暴露端口:8081

使用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容器。


LoyaltyLu
1.7k 声望89 粉丝