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
使用方法
-
clone项目
$ git clone https://github.com/LoyaltyLu/docker.git
-
Linux下需要将当前用户加入docker用户组
$ sudo gpasswd -a ${USER} docker
-
启动环境
$ cd dockerphp $ docker-compose up
- 初次启动需要初始化镜像编译环境所以时间稍微长点就要看服务器或自己网速
- 安装成功后访问localhost
容器基本使用介绍
容器使用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容器。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。