Skip to content

TomasTomecek/nginx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nginx web server container

This is an example of how nginx can be easily run in a Docker container. Please note that this version is not suitable for production use, but feel free to tinker with it. This container is built on two layers:

  1. base-runtime - a minimal image
  2. nginx - an nginx installation on top of base-runtime

Configuration

This repository containes file nginx.conf in files folder, where you can configure all the settings you need for nginx to suit your needs. However, please don't change the following lines, as they are needed for proper functionality in a container.

error_log stderr;
daemon off;

These lines will redirect error log to stderr and prevent nginx from demonizing itself, which if enabled, would result in docker stopping the container right after starting it, because the root process would exit right after spawning worker processes.

Running in Docker

You can get this continer image from docker hub:

$ docker pull modularitycontainers/nginx

This container can be run in two ways:

1) From shell

docker run --rm -p 8080:80 -v <DIR>:/usr/share/nginx/html/

This starts the container and forwards port 80 from container to port 8080 on host. You can replace <DIR> with location of your web root. Please note that this has to be an absolute path, due to Docker requirements.

2) With a Makefile

In order to simplify running the container, you can use a supplied Makefile. By default it will only build the image and tag it. If you set the DOCUMENT_ROOT variable, executing make will also run the container. You can set the following options there:

# Docker container tag
IMAGE_NAME = nginx

# An absolute path to your web root
#DOCUMENT_ROOT = /

# A port you want your nginx server to run on host
PORT = 8080

Running in Openshift

To run this container in OpenShift, you need to change the RunAsUser option in the restricted Security Context Constraint (SCC) from MustRunAsRange to RunAsAny. Do it by running:

$ oc login -u system:admin
$ oc project default
$ oc edit scc restricted

Find RunAsUser and change its value from MustRunAsRange to RunAsAny. This is needed as nginx master process is running as a root.

Then you can run openshift-template.yml in this repository:

$ oc login -u developer
$ oc create -f openshift-template.json

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Nginx 88.8%
  • Makefile 11.2%