本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Varnish Docker 镜像是一个支持动态后端、Rancher DNS 集成、自动配置与重载的通用缓存服务镜像。该镜像基于轻量级 Alpine 系统构建,可广泛应用于各类 Web 服务的性能优化场景,不仅限于 EEA(欧洲环境署)相关项目。
基础信息:
dynamic.director 实现 Rancher 环境下的 DNS 动态解析/varnish-config 卷管理只读 VCL 模板文件:7 Dockerfile(Alpine 3.19,Varnish 7.6.1)| 标签 | Varnish 版本 | 发布版本 | Dockerfile 链接 |
|---|---|---|---|
:4.1-6.5 | 4.1.11 | 6.5 | 链接 |
:7.2-1.0 | 7.2 | 1.0 | 链接 |
:7.4-1.1 | 7.4.2 | 1.1 | 链接 |
:7.5-1.0 | 7.5.0 | 1.0 | 链接 |
:7.6-1.0 | 7.6.1 | 1.0 | 链接 |
查看旧版本
docker pull eeacms/varnish| 变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
VARNISH_HTTP_PORT | Varnish 监听的 HTTP 端口 | 80 | 8080 |
VARNISH_HTTPS_PORT | Varnish 监听的 HTTPS 端口 | 8443 | 8444 |
VARNISH_SIZE | 缓存大小(支持单位:M/G) | 1G | 512M |
AUTOKILL_CRON | 容器重建定时任务(UTC 时区,Linux crontab 格式),用于定期刷新配置 | 无 | 0 2 * * *(每日2点) |
VARNISH_CFG_CONTENT | 多行变量,内容将直接写入 /etc/varnish/default.vcl 文件 | 仅包含 VCL 版本 | 完整 VCL 配置内容 |
VARNISH_CFG_CONTENT 注入配置直接通过环境变量传递 VCL 配置内容,适用于简单配置场景。示例 docker-compose.yml:
version: '3' services: varnish: image: eeacms/varnish:7 ports: - "80:80" environment: - VARNISH_SIZE=2G - VARNISH_CFG_CONTENT='vcl 4.1; backend default { .host = "webserver"; .port = "80"; }' depends_on: - webserver webserver: image: nginx:alpine
启动:docker-compose up -d
默认 default.vcl 仅包含 VCL 版本声明。如需自定义基础配置,可通过 Dockerfile 扩展镜像:
FROM eeacms/varnish:7 COPY varnish.vcl /etc/varnish/default.vcl
构建自定义镜像:docker build -t my-varnish /path/to/dockerfile-dir
VARNISH_ 为前缀的环境变量(如 VARNISH_BACKEND_HOST)ENV VARNISH_BACKEND_HOST=webserver)<变量名> 占位:
backend default { .host = "<VARNISH_BACKEND_HOST>"; .port = "<VARNISH_BACKEND_PORT>"; }
-e 覆盖默认值:docker run -e VARNISH_BACKEND_HOST=api-server eeacms/varnish通过 /varnish-config 只读卷挂载 VCL 模板文件,容器启动时会将该目录下的文件(保持目录结构)复制到 /etc/varnish 并进行变量替换:
docker run -v /local/vcl-templates:/varnish-config:ro eeacms/varnish
使用 dynamic.director 实现 Rancher DNS 动态解析,自动发现后端容器 IP:
vcl 4.1; import dynamic; sub vcl_init { # 动态后端配置:端口、DNS TTL(秒) new cluster = dynamic.director(port = "<VARNISH_BACKEND_PORT>", ttl = <VARNISH_DNS_TTL>); # 添加后端服务域名(Rancher 服务名) cluster.add_backend("web-service"); } sub vcl_recv { set req.backend_hint = cluster.backend(); }
环境变量配置:-e VARNISH_BACKEND_PORT=80 -e VARNISH_DNS_TTL=60
docker run 示例docker run -d \ --name varnish \ -p 80:80 \ -e VARNISH_SIZE=512M \ -e VARNISH_CFG_CONTENT='vcl 4.1; backend default { .host="nginx"; .port="80"; }' \ --link nginx:nginx \ eeacms/varnish:7
拉取最新镜像并重建容器:
docker pull eeacms/varnish:7 docker stop varnish && docker rm varnish # 重新运行容器(使用原配置参数)
原始代码的初始所有者为欧洲环境署(EEA),保留所有权利。
原始代码为自由软件,可根据 GNU 通用公共许可证(GPL)第 2 版或更高版本的条款重新分发和/或修改。
由 欧洲环境署(EU) 资助开发。
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429