
本镜像为https://hub.docker.com/r/ficusio/openresty/%E7%9A%84Dockerfile%E5%AE%9E%E7%8E%B0%EF%BC%8C%E6%8F%90%E4%BE%9B%E4%B8%A4%E7%A7%8D%E7%89%88%E6%9C%AC%E3%80%82%E5%AE%83%E5%9F%BA%E4%BA%8EOpenResty%E6%9E%84%E5%BB%BA%EF%BC%8C%E9%80%82%E7%94%A8%E4%BA%8E%E9%9C%80%E8%A6%81%E9%AB%98%E6%80%A7%E8%83%BDWeb%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%92%8CLua%E8%84%9A%E6%9C%AC%E6%94%AF%E6%8C%81%E7%9A%84%E5%9C%BA%E6%99%AF%EF%BC%8C%E5%8F%AF%E7%94%A8%E4%BA%8E%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E5%BF%AB%E9%80%9F%E6%B5%8B%E8%AF%95%E5%92%8C%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E9%83%A8%E7%BD%B2%E3%80%82
Alpine版本(ficusio/openresty:latest):
基于https://hub.docker.com/_/alpine/%EF%BC%8C%E8%99%9A%E6%8B%9F%E4%BD%93%E7%A7%AF%E4%BB%8531MB%EF%BC%8C%E5%8C%85%E5%90%AB%E5%AE%8C%E6%95%B4%E5%8A%9F%E8%83%BD%E7%9A%84OpenResty v1.9.3.1和apk包管理器,可轻松安装大量预构建包。
Debian版本(ficusio/openresty:debian):
基于debian:wheezy,体积较大(256MB),主要用于Nginx分析。因Alpine Linux使用的musl libc可能难以构建部分分析工具,此版本可解决该问题。
Nginx配置路径:Nginx以/opt/openresty/nginx为前缀路径,默认加载配置文件/opt/openresty/nginx/conf/nginx.conf,默认HTML根目录为/opt/openresty/nginx/html/。
Lua模块:OpenResty包含的Lua模块位于/opt/openresty/lualib/,该目录已加入Lua包路径,无需在Nginx配置中通过lua_package_path指定。
LuaJIT:Lua Nginx模块基于LuaJIT 2.1构建,同时提供独立的lua二进制可执行文件。
临时文件目录:Nginx临时文件存储于/var/nginx/。若需以https://github.com/docker/docker/pull/***%E5%90%AF%E5%8A%A8%E5%AE%B9%E5%99%A8%EF%BC%8C%E9%9C%80%E5%B0%86%E8%AF%A5%E7%9B%AE%E5%BD%95%E6%8C%82%E8%BD%BD%E4%B8%BA%E5%8D%B7%E4%BB%A5%E4%BF%9D%E8%AF%81%E5%8F%AF%E5%86%99%EF%BC%9A
sh# 启动容器 docker run --name nginx --read-only -v /var/nginx ... ficusio/openresty # 删除容器及卷 docker rm -v nginx
本镜像使用ONBUILD钩子,会自动将Docker构建上下文根目录(即Dockerfile所在目录)下的nginx/目录及其所有文件、子目录复制到容器内的/opt/openresty/nginx/。运行Nginx所需的最小配置结构如下:
project_root/ ├ nginx/ # 所有子目录/文件将复制到/opt/openresty/nginx/ | └ conf/ | └ nginx.conf # 自定义Nginx配置文件 └ Dockerfile
Dockerfile示例:
dockerfileFROM ficusio/openresty:latest EXPOSE 8080
更多示例可参考https://github.com/ficusio/openresty/tree/master/_example%E3%80%82
Nginx默认启动命令为nginx -g 'daemon off; error_log /dev/stderr info;',需注意:
nginx.conf中指定daemon指令,否则会因重复指令导致配置检查错误。daemon off模式确保宿主机服务管理器(如systemd)或Docker自身能检测Nginx退出状态并重启容器,无需容器内服务管理器。stderr,便于通过Docker日志驱动或https://github.com/gliderlabs/logspout%E7%AD%89%E5%B7%A5%E5%85%B7%E6%94%B6%E9%9B%86%E5%92%8C%E8%B0%83%E8%AF%95%E6%97%A5%E5%BF%97%E3%80%82若需自定义命令行参数,可在Dockerfile中添加CMD指令覆盖默认命令,或直接在docker run时传入命令:
sh$ docker run --rm -it --name test ficusio/openresty bash root@06823698db68:/opt/openresty/nginx $ ls -l total 12 drwxr-xr-x 2 root root 4096 Feb 1 14:48 conf drwxr-xr-x 2 root root 4096 Feb 1 14:48 html drwxr-xr-x 2 root root 4096 Feb 1 14:48 sbin
为避免修改Lua代码或Nginx配置后重建镜像,可创建脚本挂载配置/内容目录并启动Nginx:
bash#!/usr/bin/env bash exec docker run --rm -it \ --name my-app-dev \ -v "$(pwd)/nginx/conf":/opt/openresty/nginx/conf \ -v "$(pwd)/nginx/lualib":/opt/openresty/nginx/lualib \ -p 8080:8080 \ ficusio/openresty:debian "$@" # 可添加更多-v选项挂载其他目录(如nginx/html/) # 不要使用-v "$(pwd)/nginx":/opt/openresty/nginx,这会覆盖/opt/openresty/nginx/sbin/nginx二进制文件
将脚本置于Dockerfile旁,赋予执行权限即可用于开发。开发时可临时禁用https://github.com/openresty/lua-nginx-module#lua_code_cache%EF%BC%8C%E6%97%A0%E9%9C%80%E9%87%8D%E5%90%AFNginx%E5%8D%B3%E5%8F%AF%E6%B5%8B%E8%AF%95%E4%BB%A3%E7%A0%81%E4%BF%AE%E6%94%B9%E3%80%82
以下是 ficusio/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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务