SpacePack 基于 Docker 为了快速部署 PHP 生产环境而产生的项目,它包含了一般项目中常用的组件,能够在最短的时间内产生一个完善并且优化过的 PHP 生产环境。
容器版本
SpacePack 默认包含了 OpenResty 1.13、PHP 7.2、MariaDB 10.3、Memcached 1.5、Redis 3.2 和 phpMyAdmin 4.7 容器,每个容器都可以独立控制,下面是默认的容器名称列表.
1
2
3
4
5
6
|
spacepack–mariadb
spacepack–memcached
spacepack–openresty
spacepack–php
spacepack–phpmyadmin
spacepack–redis
|
使用方法
配置项目
1、获取项目文件
1
|
$ git clone https://github.com/Vtrois/SpacePack.git
|
2、使用 Docker Compose 启动容器
1
|
$ docker–compose up –d
|
如果需要其他 PHP 版本,或者需要配置其他拓展,需要先编辑 services/php/Dockerfile
配置文件,然后再执行下面的命令编译启动容器
1
|
$ docker–compose –f docker–compose–dev.yml up
|
3、使用浏览器打开 localhost
页面,你将会看到下图的页面
容器操作
1、停止某个容器
1
|
$ docker stop [CONTAINER NAME]
|
2、重启某个容器
1
|
$ docker restart [CONTAINER NAME]
|
注意:这里的 [CONTAINER NAME]
是上文的容器名称列表中的名称。
文件说明
在项目目录中你将会看到以下目录和文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
SpacePack
├── docker–compose–dev.yml
├── docker–compose.yml
├── services
│ ├── mariadb
│ ├── openresty
│ │ ├── conf.d
│ │ │ └── default.conf
│ │ ├── logs
│ │ └── nginx.conf
│ ├── php
│ │ ├── Dockerfile
│ │ └── config
│ │ ├── opcache–recommended.ini
│ │ ├── php.ini
│ │ └── sources.list.stretch
│ └── redis
│ └── data
└── wwwroot
└── default
├── index.html
├── ocp.php
├── phpinfo.php
└── tz.php
|
services/mariadb
用来存放数据库文件;
services/openresty/conf.d
是站点配置文件目录;
services/openresty/logs
用来存放 Nginx 日志的位置;
services/openresty/nginx.conf
是经优化的 Nginx 配置文件;
services/php/config/php.ini
是 PHP 的配置文件;
services/redis/data
用来存放 Redis 数据的位置;
wwwroot
是站点根目录,请勿将建站程序直接放到根目录。
注意事项
1、当新增或修改站点配置之后需要重启 OpenResty 容器。
2、在使用 Docker Compose 启动容器之前,建议配置 docker-compose.yml
文件第46行中 mariadb 的 root 账户默认密码,默认密码为 spacepack
,默认端口为 3306
。
1
|
MYSQL_ROOT_PASSWORD: “spacepack”
|
3、在 SpacePack 中因为每一个组件都是单独的一个容器,所以当 PHP 程序连接数据库的时候,数据库地址需要输入 mariadb
。
4、本着节省资源的原则,在项目中用不到的容器建议在生产中直接停止,当需要的时候再运行。
5、容器对外开放的端口仅为 80 和 443 端口,另外的 9000、3306、11211、6379 端口只是在 SpacePack 的所有容器内做了映射关系。
yu原文:https://www.vtrois.com/spacepack-docker-deployment.html