
hussainweb/drupal-base该镜像为Drupal项目提供基础运行时环境,设计用于CI(持续集成)环境,同时也适用于使用docker-compose的本地开发环境。本镜像与官方Drupal镜像类似,但不含Drupal核心文件,允许用户挂载自定义代码库。
本仓库包含两种主要镜像变体:
apache-bookworm:基于Debian Bookworm,集成Apache Web服务器fpm-alpine:基于Alpine Linux,集成PHP-FPM根据需求选择合适的镜像:Apache镜像适合简单的一体化容器部署,而FPM镜像则适用于配合Nginx等独立Web服务器的场景。
docker-compose快速搭建开发环境Apache镜像使用简单,将Drupal代码库挂载到容器内的/var/www/html目录即可。
以下是docker-compose.yml示例片段:
yamlservices: drupal: image: hussainweb/drupal-base:php8.4 volumes: - ./path/to/your/drupal/root:/var/www/html # 挂载本地Drupal根目录 ports: - "8080:80" # 将容器80端口映射到本地8080端口 restart: always # 容器退出时自动重启
FPM-Alpine镜像需要配合独立的Web服务器使用,以下示例使用Nginx作为Web服务器。
yamlservices: drupal: image: hussainweb/drupal-base:php8.4-alpine volumes: - ./path/to/your/drupal/root:/var/www/html # 挂载本地Drupal根目录 restart: always # 容器退出时自动重启 nginx: image: nginx:latest ports: - "8080:80" # 将Nginx 80端口映射到本地8080端口 volumes: - ./path/to/your/drupal/root:/var/www/html # 共享Drupal代码目录给Nginx - ./path/to/your/nginx.conf:/etc/nginx/conf.d/default.conf # 挂载自定义Nginx配置 depends_on: - drupal # 确保drupal服务先启动 restart: always # 容器退出时自动重启
需创建nginx.conf文件,以下是基础配置示例:
confserver { listen 80; server_name your-domain.com; # 替换为实际域名 root /var/www/html; # Drupal代码根目录 location / { try_files $uri /index.php?$query_string; # Drupal URL重写规则 } location ~ \.php$ { fastcgi_pass drupal:9000; # 连接到drupal服务的PHP-FPM端口 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; # 包含FastCGI参数 } }
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务