注意: 这是https://hub.docker.com/_/varnish%E7%9A%84%60ppc64le%60%E6%9E%B6%E6%9E%84%E7%89%88%E6%9C%AC%E5%BA%93%E2%80%94%E2%80%94%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E8%A7%81%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8F%E6%96%87%E6%A1%A3%E4%B8%AD%E7%9A%84%E2%80%9Chttps://github.com/docker-library/official-images#architectures-other-than-amd64%E2%80%9D%E4%BB%A5%E5%8F%8A%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8FFAQ%E4%B8%AD%E7%9A%84%E2%80%9Chttps://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E2%80%9D%E3%80%82
维护者:
https://github.com/varnish/docker-varnish
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile链接https://github.com/varnish/docker-varnish/blob/ec128addad8eb92680ac7adb2f00f6a679a48be5/fresh/debian/Dockerfile
https://github.com/varnish/docker-varnish/blob/ec128addad8eb92680ac7adb2f00f6a679a48be5/fresh/alpine/Dockerfile
https://github.com/varnish/docker-varnish/blob/ec128addad8eb92680ac7adb2f00f6a679a48be5/old/debian/Dockerfile
https://github.com/varnish/docker-varnish/blob/ec128addad8eb92680ac7adb2f00f6a679a48be5/old/alpine/Dockerfile
https://github.com/varnish/docker-varnish/blob/2c2b9d92008b7623bd837cbb542ae02061d9a598/stable/debian/Dockerfile
问题提交地址:
https://github.com/varnish/docker-varnish/issues?q=
支持的架构: (https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/varnish/%E3%80%81https://hub.docker.com/r/arm32v7/varnish/%E3%80%81https://hub.docker.com/r/arm64v8/varnish/%E3%80%81https://hub.docker.com/r/i386/varnish/%E3%80%81https://hub.docker.com/r/ppc64le/varnish/%E3%80%81https://hub.docker.com/r/s390x/varnish/
镜像 artifact 详情:
https://github.com/docker-library/repo-info/blob/master/repos/varnish (https://github.com/docker-library/repo-info/commits/master/repos/varnish)
(镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fvarnish
https://github.com/docker-library/official-images/blob/master/library/varnish (https://github.com/docker-library/official-images/commits/master/library/varnish)
本描述的来源:
https://github.com/docker-library/docs/tree/master/varnish (https://github.com/docker-library/docs/commits/master/varnish)
Varnish是一款HTTP加速器,专为内容密集型动态网站和API设计。与其他Web加速器(如Squid,最初作为客户端缓存;或Apache和nginx,主要作为源服务器)不同,Varnish从设计之初就是一款HTTP加速器。Varnish专注于HTTP协议,而其他代理服务器通常支持FTP、SMTP等网络协议。
***.org/wiki/Varnish_(software))
!https://raw.githubusercontent.com/docker-library/docs/5ca8e315af01e76381d499a2928f7f47a6787f49/varnish/logo.png
VARNISH_BACKEND_HOST和VARNISH_BACKEND_PORT只需指定后端服务器(Varnish将要加速的服务器)的地址:
console# 定义VARNISH_BACKEND_HOST/VARNISH_BACKEND_PORT # 工作目录需挂载为tmpfs以避免磁盘I/O # 使用8080端口与容器通信(容器内部监听80端口) $ docker run \ -e VARNISH_BACKEND_HOST=example.com -e VARNISH_BACKEND_PORT=80 \ --tmpfs /var/lib/varnish/varnishd:exec \ -p 8080:80 \ ppc64le/varnish
之后,可在浏览器中访问localhost:8080查看example.com的主页。
如果已有VCL文件,可直接将其挂载为/etc/varnish/default.vcl:
console# 需将配置文件挂载到容器内的/etc/varnish/default.vcl # 工作目录需挂载为tmpfs以避免磁盘I/O # 使用8080端口与容器通信(容器内部监听80端口) $ docker run \ -v /path/to/default.vcl:/etc/varnish/default.vcl:ro \ --tmpfs /var/lib/varnish/varnishd:exec \ -p 8080:80 \ ppc64le/varnish
或者,可通过简单的Dockerfile生成包含必要default.vcl的新镜像:
dockerfileFROM ppc64le/varnish COPY default.vcl /etc/varnish/
将此文件与default.vcl放在同一目录,运行docker build -t my-varnish .,然后启动容器:
console$ docker run --tmpfs /var/lib/varnish/varnishd:exec -p 8080:80 my-varnish
所有镜像均包含https://github.com/varnishcache/pkg-varnish-cache/blob/master/systemd/varnishreload#L42%E5%B7%A5%E5%85%B7%EF%BC%8C%E5%8F%AF%E8%BD%BB%E6%9D%BE%E6%9B%B4%E6%96%B0%E8%BF%90%E8%A1%8C%E4%B8%AD%E7%9A%84%E9%85%8D%E7%BD%AE%E8%80%8C%E6%97%A0%E9%9C%80%E9%87%8D%E5%90%AF%E5%AE%B9%E5%99%A8%EF%BC%88%E4%BB%8E%E8%80%8C%E9%81%BF%E5%85%8D%E7%BC%93%E5%AD%98%E4%B8%A2%E5%A4%B1%EF%BC%89%E3%80%82%E6%9C%80%E5%9F%BA%E6%9C%AC%E7%94%A8%E6%B3%95%E5%A6%82%E4%B8%8B%EF%BC%9A
console# 更新容器内的default.vcl docker cp new_default.vcl running_container:/etc/varnish/default.vcl # 运行varnishreload docker exec running_container varnishreload
注意,varnishreload还支持重新加载其他文件(不一定是default.vcl)、标签(l)、旧标签的垃圾回收(-m)等功能。更多信息可运行:
consoledocker run varnish varnishreload -h
默认情况下,容器使用100MB缓存大小,通常偏小,可通过VARNISH_SIZE环境变量调整:
console$ docker run --tmpfs /var/lib/varnish/varnishd:exec -p 8080:80 -e VARNISH_SIZE=2G ppc64le/varnish
Varnish默认在80端口监听HTTP流量,可通过VARNISH_HTTP_PORT环境变量覆盖。类似地,VARNISH_PROXY_PORT变量(默认8443)指定PROXY协议的监听端口,该协议主要用于与https://hub.docker.com/_/hitch%E4%BA%A4%E4%BA%92%EF%BC%88hitch%E9%BB%98%E8%AE%A4%E4%B9%9F%E4%BD%BF%E7%94%A88443%E7%AB%AF%E5%8F%A3%EF%BC%89%E3%80%82
console# 指示Varnish监听7777端口而非80 $ docker run --tmpfs /var/lib/varnish/varnishd:exec -p 8080:7777 -e VARNISH_HTTP_PORT=7777 ppc64le/varnish
默认Varnish配置文件为/etc/varnish/default.vcl,可通过VARNISH_VCL_FILE环境变量覆盖。这有助于创建可使用不同内置配置部署的单一镜像。
此外,可在docker run命令中ppc64le/varnish之后添加参数。如果第一个参数以-开头,整个参数列表将附加到https://github.com/varnish/docker-varnish/blob/master/fresh/debian/scripts/docker-varnish-entrypoint%EF%BC%9A
console# 延长默认保持时间 $ docker run --tmpfs /var/lib/varnish/varnishd:exec -p 8080:80 -e VARNISH_SIZE=2G ppc64le/varnish -p default_keep=300
如果ppc64le/varnish之后的第一个参数不以-开头,则会覆盖默认命令:
console# 显示命令行选项 $ docker run ppc64le/varnish varnishd -? # 列出可与-p一起使用的参数 $ docker run ppc64le/varnish varnishd -x parameter # 使用自定义参数运行服务器(不要忘记-F以避免后台运行) $ docker run ppc64le/varnish varnishd -F -a :8080 -b 127.0.0.1:8181 -t 600 -p feature=+http2
如上所述,可使用https://github.com/nigoroll/libvmod-dynamic%E8%BF%9B%E8%A1%8C%E5%90%8E%E7%AB%AF%E8%A7%A3%E6%9E%90%E3%80%82%E9%95%9C%E5%83%8F%E8%BF%98%E5%8C%85%E5%90%ABhttps://github.com/varnish/varnish-modules%E9%9B%86%E5%90%88%E3%80%82%E6%89%80%E6%9C%89%E7%94%A8%E6%B3%95%E5%92%8C%E8%AF%AD%E6%B3%95%E6%96%87%E6%A1%A3%E5%8F%AF%E5%9C%A8%E8%AF%A5%E4%BB%93%E5%BA%93%E7%9A%84https://github.com/varnish/varnish-modules/tree/master/src%E7%9B%AE%E5%BD%95%E4%B8%AD%E6%89%BE%E5%88%B0%E3%80%82
此外,镜像包含https://github.com/varnish/toolbox/tree/master/install-vmod%E5%B7%A5%E5%85%B7%EF%BC%8C%E5%8F%AF%E5%9C%A8%E5%88%9B%E5%BB%BA%E8%87%AA%E5%AE%9A%E4%B9%89%E9%95%9C%E5%83%8F%E6%97%B6%E5%BF%AB%E9%80%9F%E4%B8%8B%E8%BD%BD%E3%80%81%E7%BC%96%E8%AF%91%E5%92%8C%E5%AE%89%E8%A3%85vmods%E3%80%82%E6%B3%A8%E6%84%8F%EF%BC%8C%E9%95%9C%E5%83%8F%E8%AE%BE%E7%BD%AE%E4%BA%86%60ENV%60%E5%8F%98%E9%87%8F%60VMOD_DEPS%60%E4%BB%A5%E7%AE%80%E5%8C%96%E6%93%8D%E4%BD%9C%E3%80%82
dockerfileFROM ppc64le/varnish:7.1 # 切换到root用户并安装构建依赖 USER root RUN set -e; \ apt-get update; \ apt-get -y install $VMOD_DEPS /pkgs/*.deb; \ \ # 安装一个或多个vmods install-vmod https://github.com/varnish/varnish-modules/releases/download/0.20.0/varnish-modules-0.20.0.tar.gz; \ \ # 清理并切换回varnish用户 apt-get -y purge --auto-remove $VMOD_DEPS varnish-dev; \ rm -rf /var/lib/apt/lists/* USER varnish
dockerfileFROM ppc64le/varnish:7.1-alpine # 安装构建依赖 USER root RUN set -e; \ apk add --no-cache $VMOD_DEPS; \ \ # 安装一个或多个vmods install-vmod https://github.com/varnish/varnish-modules/releases/download/0.20.0/varnish-modules-0.20.0.tar.gz; \ \ # 清理 apk del --no-network $VMOD_DEPS USER varnish
ppc64le/varnish镜像有多种版本,适用于不同场景。
ppc64le/varnish:<version>这是默认镜像。如果不确定需求,建议使用此版本。它既可作为临时容器(挂载源代码并启动容器运行应用),也可作为构建其他镜像的基础。
ppc64le/varnish:<version>-alpine此镜像基于流行的Alpine Linux项目,来自https://hub.docker.com/_/alpine%E3%80%82Alpine Linux比大多数发行版基础镜像小得多(约5MB),因此生成的镜像通常更精简。
当最终镜像大小是首要考虑因素时,此变体非常有用。需要注意的是,它使用musl libc而非glibc及相关库,因此软件可能因libc需求/假设的深度而遇到问题。更多讨论参见此Hacker News评论线程。
为最小化镜像大小,Alpine基础镜像通常不包含额外工具(如git或bash)。如需这些工具,可在自定义Dockerfile中添加(参见https://hub.docker.com/_/alpine/%E4%B8%AD%E7%9A%84%E5%AE%89%E8%A3%85%E7%A4%BA%E4%BE%8B%EF%BC%89%E3%80%82
查看本镜像所包含软件的https://github.com/varnishcache/varnish-cache/blob/master/LICENSE%E3%80%82
与所有Docker镜像一样,本镜像可能包含其他软件,这些软件可能使用其他许可协议(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖)。
可在https://github.com/docker-library/repo-info/tree/master/repos/varnish%E4%B8%AD%E6%89%BE%E5%88%B0%E4%B8%80%E4%BA%9B%E8%87%AA%E5%8A%A8%E6%A3%80%E6%B5%8B%E5%88%B0%E7%9A%84%E9%A2%9D%E5%A4%96%E8%AE%B8%E5%8F%AF%E4%BF%A1%E6%81%AF%E3%80%82
对于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用符合其中包含的所有软件的相关许可协议。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务