#前言
oneinstack投毒事件后,需要一个简易的PHP环境,最后使用docker-compose+alpine+caddy2+php。
这是个简单的示例,只配置了PHP环境和一个PHP模块(zip)的安装
#创建目录
cd docker
mkdir -p caddy/log
mkdir -p caddy/config
mkdir -p caddy/data
mkdir -p caddy/www/xxxxxx.xyz
#配置docker-compose:
#nano docker-compose.yml
version: "3.9"
services:
caddy:
image: caddy:alpine
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- $PWD/caddy/Caddyfile:/etc/caddy/Caddyfile
- $PWD/caddy/www:/srv/www
- $PWD/caddy/data:/data
- $PWD/caddy/config:/config
- $PWD/caddy/log:/var/log
depends_on:
- app
app:
image: php:fpm-alpine
volumes:
- "$PWD/caddy/www:/var/www/html"
#配置CADDY:
#nano caddy/Caddyfile
#普通PHP配置,php容器通过内网访问(app:9000),不需要映射
xxxxxx.xyz {
root * /srv/www/xxxxxx.xyz
encode gzip
php_fastcgi app:9000 {
root /var/www/html
}
file_server
}
#目录权限设置
chmod 777 -R caddy/www/
#启动docker-compose生效
docker-compose up -d
#安装PHP模块:zip
docker exec -it docker-app-1 sh
apk add --no-cache libzip-dev && docker-php-ext-install zip
#重启生效
docker-compose restart