Docker image providing a very simple Nginx service. Built for use on my VPS to serve up web sites.
docker build -t bugthing/docker-nginx .
Before running the docker container you must prepare with the following steps
Once you have setup the directory you should be able to run the container, like so:
docker run -d --name=vps-nginx -p 80:80 -p 443:443 -v `pwd`/sites:/sites -v `pwd`/certs:/etc/nginx/certs -v `pwd`/sites-enabled:/etc/nginx/sites-enabled -v `pwd`/logs:/var/log/nginx bugthing/docker-nginx
This docker image is built around referencing prepared volumes (directories), below is an explaination of each volume.
To be mounted at /etc/nginx/sites-enabled
Each specific sites configuration. For example:
server {
server_name .example.com; # for default use: server_name _;
ssl_certificate /etc/nginx/certs/example.crt;
ssl_certificate_key /etc/nginx/certs/example.key;
listen 80; # for default use: listen 80 default_server;
listen 443 ssl;
root /sites/example.com;
index index.html index.htm;
}
To be mounted at /etc/nginx/certs
A place to put all the generated SSL certificates.
To be mounted at /sites
The HTML, CSS etc. served up for each site.
Docker image providing a very simple opensmtpd service
Intended to accept mail for configured domains and relay onward to other email addresses
To be mounted at /var/log/nginx
Nginx log output directory
The following can be using to generate a self signed SSL certificate:
openssl genrsa -des3 -out example.key 2048
openssl req -new -key example.key -out example.csr
cp example.key example.key.org
openssl rsa -in example.key.org -out example.key
openssl x509 -req -days 365 -in example.csr -signkey example.key -out example.crt
What follows is the commands of how I got a site up on my VPS using this image.
docker pull bugthing/docker-nginx
mkdir -p /storage/docker-container-volumes/nginx
cd /storage/docker-container-volumes/nginx
mkdir sites
mkdir sites-enabled
mkdir certs
mkdir logs
cd certs/
openssl genrsa -des3 -out example.key 2048
openssl req -new -key example.key -out example.csr
cp example.key example.key.org
openssl rsa -in example.key.org -out example.key
openssl x509 -req -days 365 -in example.csr -signkey example.key -out example.crt
rm example.key.org
cd ..
vi sites-enabled/example
mkdir sites/example
vi sites/example/index.html
docker run -d --name=nginx -p 80:80 -p 443:443 -v `pwd`/sites:/sites -v `pwd`/certs:/etc/nginx/certs -v `pwd`/sites-enabled:/etc/nginx/sites-enabled -v `pwd`/logs:/var/log/nginx bugthing/docker-nginx
Content type
Image
Digest
sha256:14e8c2c3d…
Size
140.1 MB
Last updated
over 9 years ago
docker pull bugthing/docker-nginx