docker-compose.yml文件
bash
# 生成 docker-compose.yml
cat > docker-compose.yml <<EOF
version: '3.8'
services:
nginx:
image: nginx:1.28.0-bookworm
container_name: nginx
ports:
- "80:80"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./www:/usr/share/nginx/html
- /etc/localtime:/etc/localtime:ro
depends_on:
- php
php:
image: php:8.2.29-fpm-alpine3.21
container_name: php-fpm
volumes:
- ./www:/var/www/html
- /etc/localtime:/etc/localtime:ro
mysql:
image: mysql:8.0.42
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: root123456
MYSQL_DATABASE: testdb
MYSQL_USER: testuser
MYSQL_PASSWORD: testpass
ports:
- "3306:3306"
volumes:
- ./mysql_data:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
EOF
# 创建必要目录
mkdir -p nginx/conf.d www mysql_data
# 创建一个默认 nginx 配置
cat > nginx/conf.d/default.conf <<EOF
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
location / {
index index.php index.html;
try_files \$uri \$uri/ /index.php?\$query_string;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html\$fastcgi_script_name;
include fastcgi_params;
}
}
EOF
echo "<?php phpinfo(); ?>" > www/index.php
echo "开始启动服务..."
docker-compose up -d
# 获取本机ip
ip_addr=$(hostname -I | awk '{print $1}')
echo "部署完成!"
echo "访问测试页 Nginx: http://${ip_addr}/"
echo "MySQL: 3306 用户:testuser 密码:testpass 数据库:testdb"
php连接达梦数据库相关问题参考