
mwalbeck/getgrav。关于GRAV的Nginx配置,可参考GRAV官方文档。
GRAV默认安装于/var/www/html,包含标准GRAV安装的所有文件夹。容器内创建了默认ID为33的用户(与www-data相同)。
通过卷挂载将站点数据提供给容器。可参考下方的docker-compose示例,了解卷挂载与Nginx配合的配置。
部署或更新容器时,会替换必要文件,同时保留含用户生成内容的文件夹。以下文件夹将被忽略:
backup/ logs/ tmp/ vendor/ user/
其他文件夹会被覆盖,便于GRAV版本的升级与降级。容器启动或更新后,会自动执行bin/grav install安装依赖并清除缓存。
可通过环境变量自定义容器用户ID、组ID及GRAV安装目录:
UID=1000:用户ID(默认33)GID=1000:组ID(默认33)GRAV_FOLDER=awesome-site:GRAV安装目录(默认/var/www/html)例如,上述配置会使容器用户ID/组ID为1000,GRAV安装于/var/www/awesome-site。
prod标签镜像适用于启用只读模式的场景。prod容器以www-data用户运行,默认UID/GID为33(暂不支持自定义),但仍可通过GRAV_FOLDER自定义安装目录。
通过docker exec运行GRAV命令行工具:
bashdocker exec -u www-data CONTAINER bin/(gpm|grav|plugin)
若自定义了GRAV_FOLDER,需指定工作目录:
bashdocker exec -u www-data -w /var/www/GRAV_FOLDER CONTAINER bin/(gpm|grav|plugin)
更新容器只需拉取新镜像并替换旧容器:
bashdocker-compose pull docker-compose up -d
以下是配合Nginx容器使用的docker-compose示例,配置了卷挂载、自定义UID/GID(1000)及GRAV目录(awesome-grav-site):
yamlversion: '2' volumes: grav: networks: frontend: services: app: image: mwalbeck/getgrav:latest restart: on-failure:5 networks: - frontend volumes: - grav:/var/www/html - /path/to/user:/var/www/html/user # 挂载用户数据目录 environment: - UID=1000 # 自定义用户ID - GID=1000 # 自定义组ID - GRAV_FOLDER=awesome-grav-site # 自定义GRAV安装目录 web: image: nginx:latest restart: on-failure:5 networks: - frontend volumes: - /path/to/nginx:/etc/nginx:ro # 挂载Nginx配置(只读) volumes_from: - app:ro # 从app容器挂载GRAV文件(只读) ports: - 80:80 # HTTP端口 - 443:443 # HTTPS端口






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务