Grav 是一个快速、简单、灵活的基于文件的Web平台。LinuxServer.io团队提供的此容器镜像具有以下特点:定期及时的应用更新、简单的用户映射(PGID、PUID)、自定义基础镜像与s6 overlay、每周基础OS更新以最小化空间占用、停机时间和带宽,以及定期安全更新。
!grav
我们利用Docker清单实现多平台支持。只需拉取 lscr.io/linuxserver/grav:latest 即可获取适合您架构的正确镜像,也可通过标签拉取特定架构镜像。支持的架构如下:
| 架构 | 可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
有关更多信息,请查看 Grav文档。我们的镜像包含 grav-admin 插件。
要使用CLI工具,需在exec命令中指定工作目录(或使用交互式shell),例如:docker exec -it -w /app/www/public grav bin/gpm
以下是使用Docker Compose(推荐)或Docker CLI创建容器的方法。
[!NOTE] 除非参数标记为“可选”,否则均为必填项,必须提供值。
yaml--- services: grav: image: lscr.io/linuxserver/grav:latest container_name: grav environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC volumes: - /path/to/grav/config:/config ports: - 80:80 restart: unless-stopped
bashdocker run -d \ --name=grav \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -p 80:80 \ -v /path/to/grav/config:/config \ --restart unless-stopped \ lscr.io/linuxserver/grav:latest
容器通过运行时传递的参数进行配置(如上所示)。参数以冒号分隔,表示<外部>:<内部>。例如,-p 8080:80 将容器内的80端口映射到主机的8080端口。
| 参数 | 功能 |
|---|---|
-p 80:80 | Web前端端口 |
-e PUID=1000 | 用户ID(详见下文说明) |
-e PGID=1000 | 组ID(详见下文说明) |
-e TZ=Etc/UTC | 指定时区,查看时区列表 |
-v /config | 持久化配置文件目录 |
您可以使用特殊前缀FILE__从文件设置任何环境变量。例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
这将根据/run/secrets/mysecretvariable文件的内容设置环境变量MYVAR。
我们的所有镜像都支持通过可选的-e UMASK=022设置覆盖容器内服务的默认umask。请注意,umask不是chmod,它基于其值减去权限而非添加。请在请求支持前了解更多。
使用卷(-v标志)时,主机OS和容器之间可能出现权限问题。我们通过允许您指定用户PUID和组PGID来避免此问题。
确保主机上的任何卷目录都由您指定的同一用户拥有,权限问题将迎刃而解。
在此示例中PUID=1000和PGID=1000,要查找您的ID,请使用id your_user命令:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
我们发布了各种Docker Mods以启用容器内的附加功能。上述动态徽章可访问此镜像可用的mods列表以及可应用于任何LinuxServer.io镜像的通用mods。
容器运行时的Shell访问:
bashdocker exec -it grav /bin/bash
实时监控容器日志:
bashdocker logs -f grav
容器版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' grav
镜像版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/grav:latest
我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部应用。除非相关readme.md中另有说明,否则不建议或支持在容器内更新应用。请参阅上述应用设置部分,了解是否推荐对此镜像进行应用更新。
以下是更新容器的说明:
更新镜像:
所有镜像:
bashdocker-compose pull
单个镜像:
bashdocker-compose pull grav
更新容器:
所有容器:
bashdocker-compose up -d
单个容器:
bashdocker-compose up -d grav
您还可以删除旧的悬空镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/grav:latest
停止运行中的容器:
bashdocker stop grav
删除容器:
bashdocker rm grav
使用上述相同的docker run参数重新创建新容器(如果正确映射到主机文件夹,您的/config文件夹和设置将被保留)
您还可以删除旧的悬空镜像:
bashdocker image prune
[!TIP] 我们推荐使用Diun获取更新通知。不建议或支持其他自动无人值守更新容器的工具。
如果您想对这些镜像进行本地修改以用于开发目的或自定义逻辑:
bashgit clone [***] cd docker-grav docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/grav:latest .
可以使用lscr.io/linuxserver/qemu-static在x86_64硬件上构建ARM变体,反之亦然:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
注册后,您可以使用-f Dockerfile.aarch64指定要使用的dockerfile。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速