1 min read

使用docker-compose搭建alpine+caddy2+php简易环境

#前言

 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