
docker-openresty是OpenResty的Docker工具集。Docker是容器管理平台,而OpenResty是一个全功能Web应用服务器,它捆绑了标准NGINX核心、众多第三方NGINX模块及其外部依赖。本镜像提供了多架构支持(amd64、aarch64、s390x)和多种操作系统版本,适用于快速部署基于NGINX和LuaJIT的高性能Web应用。
建议将镜像固定到明确的标签。以下是常见标签示例及说明:
| 镜像 | 描述 |
|---|---|
| openresty/openresty:1.21.4.1-0-jammy | 基于源码构建的Ubuntu Jammy版本 |
| openresty/openresty:1.21.4.1-0-focal | 基于源码构建的Ubuntu Focal版本 |
| openresty/openresty:1.21.4.1-0-bullseye-fat | 基于上游Debian Bullseye构建的版本 |
| openresty/openresty:1.21.4.1-0-alpine | 基于源码构建的Alpine版本 |
| openresty/openresty:1.21.4.1-0-alpine-apk | 基于上游Alpine构建的版本 |
以下是未指定版本的标签示例(仅作参考):
| 镜像 | 描述 |
|---|---|
| openresty/openresty:jammy | 最新的Ubuntu Jammy版本 |
| openresty/openresty:focal | 最新的Ubuntu Focal版本 |
| openresty/openresty:alpine | 最新的Alpine版本 |
基于上游OpenResty包构建的"flavors":
基于源码构建的"flavors"(适用于高级自定义场景):
openresty/openresty:latest标签指向最新的bullseye镜像。自1.19.3.2-1版本起,所有flavors支持amd64和aarch64多架构构建;自1.21.4.1-1版本起,基于源码构建的Ubuntu flavors(如jammy)支持s390x架构(禁用PCRE JIT)。
若接受构建默认值,可直接使用Docker Hub上的openresty镜像:
bashdocker run [options] openresty/openresty:bullseye-fat
[options]包括端口映射(-p)、卷挂载(-v)、后台运行(-d)等参数。
docker-openresty会将/usr/local/openresty/nginx/logs/access.log和error.log符号链接到/dev/stdout和/dev/stderr,以确保Docker日志正常工作。若修改nginx.conf中的日志路径,需对新路径创建符号链接(Windows镜像不支持此功能)。
临时目录(如client_body_temp_path)存储在/var/run/openresty/,建议挂载此目录而非使用容器本地目录(Windows镜像不支持)。
Docker工具会安装默认的nginx.conf。可通过自定义Dockerfile或卷挂载覆盖该文件。
Linux镜像的nginx.conf包含指令include /etc/nginx/conf.d/*.conf;,因此该目录下的所有配置都会被包含。默认虚拟主机配置位于/etc/nginx/conf.d/default.conf。
可直接覆盖default.conf或挂载整个conf.d目录:
bashdocker run -v /my/custom/conf.d:/etc/nginx/conf.d openresty/openresty:alpine
在selinux主机(如CentOS)上,需添加:Z到卷挂载参数:
bashdocker run -v /my/custom/conf.d:/etc/nginx/conf.d:Z openresty/openresty:alpine
Windows镜像需直接修改主配置文件:
bashdocker run -v C:/my/custom/nginx.conf:C:/openresty/conf/nginx.conf openresty/openresty:windows
从1.11.2.2版本开始,Linux版OpenResty包含包管理器opm,位于/usr/local/openresty/bin/opm。除alpine、buster和bullseye外,所有镜像均内置opm。
在alpine镜像中使用opm需安装curl和perl:
bashapk add --no-cache curl perl
在bullseye镜像中使用opm,可选择bullseye-fat镜像或在自定义构建中安装openresty-opm包。
alpine-fat、centos和bionic变体包含LuaRocks,位于/usr/local/openresty/luajit/bin/luarocks。alpine变体因追求精简未包含(需构建系统支持)。
在Dockerfile中安装LuaRocks包:
dockerfileRUN /usr/local/openresty/luajit/bin/luarocks install <rock>
bashdocker build -f bionic/Dockerfile --build-arg "RESTY_LUAJIT_OPTIONS=--with-luajit-xcflags='-DLUAJIT_NUMMODE=2 -DLUAJIT_ENABLE_LUA52COMPAT -mno-sse4.2'" .
resty_openssl_version指示此值。ssl_session_(store|fetch)_by_lua*,OpenResty 1.17.x.1及以上已修复此问题。镜像构建包含多种信息标签,可通过jq查看:
bashdocker inspect openresty/openresty:1.17.8.1-0-bionic | jq '.[].Config.Labels'
主要标签说明:
| 标签名称 | 描述 |
|---|---|
| maintainer | 镜像维护者 |
| resty_version | OpenResty版本 |
| resty_openssl_version | OpenSSL版本 |
| resty_pcre_version | PCRE版本 |
| resty_luarocks_version | LuaRocks版本 |
| resty_image_base | 基础镜像名称 |
| resty_image_tag | 基础镜像标签 |
Dockerfile的CMD使用-g "daemon off;"指令保持Nginx后台运行。若nginx.conf中已包含此指令,需显式调用openresty(Windows镜像调用nginx):
bashdocker run [options] openresty/openresty:bionic openresty
调用其他命令(如resty工具):
bashdocker run [options] openresty/openresty:bionic resty [script.lua]
注意:alpine镜像不包含resty工具所需的perl和ncurses包。
克隆仓库并使用指定Dockerfile构建自定义镜像:
bashgit clone https://github.com/openresty/docker-openresty.git cd docker-openresty docker build -t myopenresty -f bionic/Dockerfile . docker run myopenresty
支持的基础系统Dockerfile路径:
使用--build-arg设置构建参数:
bashdocker build --build-arg RESTY_J=4 -f jammy/Dockerfile .
主要构建参数及默认值:
| 参数 | 默认值 | 描述 |
|---|---|---|
| RESTY_VERSION | 1.21.4.1 | OpenResty版本 |
| RESTY_LUAROCKS_VERSION | 3.9.0 | LuaRocks版本 |
| RESTY_OPENSSL_VERSION | 1.1.1q | OpenSSL版本 |
| RESTY_PCRE_VERSION | 8.45 | PCRE版本 |
| RESTY_IMAGE_BASE | "ubuntu"/"alpine" | 基础镜像名称 |
| RESTY_IMAGE_TAG | "jammy"/"3.16" | 基础镜像标签 |
以下是 garfieldwtf/openresty 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务