Nginx 1.8 server and a reverse proxy server Docker image
This container image includes Nginx 1.8 server and a reverse server for OpenShift and general usage.
Users can choose between RHEL and CentOS based images.
The RHEL image is available in the Red Hat Container Catalog
The CentOS image is then available on Docker Hub
Nginx is a web server and a reverse proxy server for HTTP, SMTP, POP3 and IMAP
protocols, with a strong focus on high concurrency, performance and low memory usage. The container
image provides a containerized packaging of the nginx 1.8 daemon. The image can be used
as a base image for other applications based on nginx 1.8 web server.
Nginx server image can be extended using source-to-image tool.
For RHEL based image
$ s2i build https://github.com/sclorg/nginx-container.git --context-dir=1.8/test/test-app/ rhscl/nginx-18-rhel7 nginx-sample-app $ docker run -p 8080:8080 nginx-sample-app
For CentOS based image
$ s2i build https://github.com/sclorg/nginx-container.git --context-dir=1.8/test/test-app/ centos/nginx-18-centos7 nginx-sample-app $ docker run -p 8080:8080 nginx-sample-app
Accessing the application:
$ curl 127.0.0.1:8080
S2I build support
Nginx server image can be extended using S2I tool (see Usage section).
S2I build folder structure:
|./nginx-cfg/*.conf||Should contain all nginx configuration we want to include into image|
|./||Should contain nginx application source code|
Environment variables and volumes
The nginx container image supports the following configuration variable, which can be set by using the
-e option with the docker run command:
By default, nginx logs into standard output, so the log is available in the container log. The log can be examined by running:
docker logs <container>
NGINX_LOG_TO_VOLUME variable is set, nginx logs into
/var/opt/rh/rh-nginx18/log/nginx/, which can be mounted to host system using the Docker volumes.
Dockerfile and other sources for this container image are available on
In that repository, Dockerfile for CentOS is called Dockerfile, Dockerfile
for RHEL is called Dockerfile.rhel7.