Nginx 1.12服务器和反向代理服务器容器镜像
用户可选择基于RHEL、CentOS或Fedora的镜像。RHEL镜像可在Red Hat容器目录获取,CentOS镜像在https://hub.docker.com/r/centos/%EF%BC%8CFedora%E9%95%9C%E5%83%8F%E5%9C%A8Fedora Registry。生成的镜像可使用https://github.com/containers/libpod%E8%BF%90%E8%A1%8C%E3%80%82
注意:本文档中的示例使用podman命令,所有此类命令均可替换为docker,参数保持不变。
Nginx是一款HTTP、SMTP、POP3和IMAP协议的Web服务器及反向代理服务器,专注于高并发、高性能和低内存占用。本容器镜像提供nginx 1.12守护进程的容器化打包,可用作基于nginx 1.12 Web服务器的其他应用的基础镜像。Nginx服务器镜像可通过OpenShift的Source构建功能进行扩展。
假设使用rhscl/nginx-112-rhel7镜像(在OpenShift中通过nginx:1.12镜像流标签可用)。在OpenShift中构建简单的https://github.com/sclorg/nginx-container/tree/master/1.12/test/test-app%E5%8F%AF%E9%80%9A%E8%BF%87%E4%BB%A5%E4%B8%8B%E6%AD%A5%E9%AA%A4%E5%AE%9E%E7%8E%B0%EF%BC%9A
oc new-app nginx:1.12~https://github.com/sclorg/nginx-container.git --context-dir=1.12/test/test-app/
也可在安装了独立https://github.com/openshift/source-to-image%E5%B7%A5%E5%85%B7%E7%9A%84%E7%B3%BB%E7%BB%9F%E4%B8%8A%E6%9E%84%E5%BB%BA%EF%BC%9A
$ s2i build https://github.com/sclorg/nginx-container.git --context-dir=1.12/test/test-app/ rhscl/nginx-112-rhel7 nginx-sample-app
使用Docker运行基础容器示例:
docker run -d --name nginx-112 -p 8080:80 rhscl/nginx-112-rhel7
访问应用:
$ curl 127.0.0.1:8080
本镜像可通过OpenShift的Source构建策略或独立https://github.com/openshift/source-to-image%E5%B7%A5%E5%85%B7%EF%BC%88%E8%8B%A5%E5%8F%AF%E7%94%A8%EF%BC%89%E8%BF%9B%E8%A1%8C%E6%89%A9%E5%B1%95%E3%80%82S2I%E6%9E%84%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9%E7%BB%93%E6%9E%84%EF%BC%9A
./nginx.conf:主nginx配置文件./nginx-cfg/*.conf:需纳入镜像的所有nginx配置文件./nginx-default-cfg/*.conf:默认服务器块的nginx配置片段./nginx-start/*.sh:nginx启动前执行的shell脚本(会被 sourcing)./:nginx应用源代码存放目录nginx容器镜像支持以下配置变量,可通过podman run命令的-e选项设置:
NGINX_LOG_TO_VOLUME:设置后,nginx日志写入/var/log/nginx/。在RHEL-7和CentOS-7镜像中,该路径为/var/opt/rh/rh-nginx112/log/nginx/的符号链接。挂载自定义web根目录:
$ podman run -v <DIR>:/var/www/html/ <container>
其中<DIR>需替换为web根目录的绝对路径(符合podman要求)。
默认情况下,nginx访问日志输出到标准输出(stdout),错误日志输出到标准错误(stderr),可通过容器日志查看:
podman logs <container>
若设置NGINX_LOG_TO_VOLUME变量,nginx日志将写入/var/log/nginx/(RHEL-7和CentOS-7镜像中为/var/opt/rh/rh-nginx112/log/nginx/的符号链接),可通过容器卷挂载到主机系统。
本容器镜像的Dockerfile及其他源码可在https://github.com/sclorg/nginx-container%E8%8E%B7%E5%8F%96%E3%80%82%E8%AF%A5%E4%BB%93%E5%BA%93%E8%BF%98%E5%8C%85%E5%90%AB%E5%85%B6%E4%BB%96%E7%89%88%E6%9C%AC%E7%9A%84Python%E7%8E%AF%E5%A2%83Dockerfile%E3%80%82CentOS%E7%9A%84Dockerfile%E5%90%8D%E4%B8%BA%60Dockerfile%60%EF%BC%8CRHEL7%E4%B8%BA%60Dockerfile.rhel7%60%EF%BC%8CRHEL8%E4%B8%BA%60Dockerfile.rhel8%60%EF%BC%8CFedora%E4%B8%BA%60Dockerfile.fedora%60%E3%80%82
以下是 centos/nginx-112-centos7 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务