Alpine with Nginx for Docker
Nginx Makefile Shell HTML
Latest commit bcc0b80 Nov 18, 2016 @cameronmalek Merge branch 'develop'
Permalink
Failed to load latest commit information.
test
versions
.gitignore
CHANGELOG.md
LICENSE
Makefile
README.md

README.md

docker-nginx

Nginx on top of my base image.

Supported tags and respective Dockerfile links

Features

  • Based on Alpine with a correct PID 1
  • Sensible default Nginx configuration
  • Included snippets for the most common configurations
  • Includes ngx_cache_purge

Usage

Expose the current directory to Nginx. Note that a configuration file must be provided. Two good defaults are included in /etc/nginx/sites-available.

$ docker run -p 80:8080 -v /path/to/sites-available:/etc/nginx/sites-enabled:ro -v $(pwd):/srv/www/htdocs:ro cameronmalek/nginx:mainline

Build details

Mainline

$ nginx -V
nginx version: nginx/1.11.6
built by gcc 5.3.0 (Alpine 5.3.0) 
built with OpenSSL 1.0.2j  26 Sep 2016
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=www-data --group=www-data --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_perl_module=dynamic --with-threads --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-stream_realip_module --with-stream_geoip_module=dynamic --with-http_slice_module --with-mail --with-mail_ssl_module --with-compat --with-file-aio --with-http_v2_module --add-module=/usr/src/ngx_cache_purge-2.3

Stable

$ nginx -V
nginx version: nginx/1.10.2
built by gcc 5.3.0 (Alpine 5.3.0) 
built with OpenSSL 1.0.2j  26 Sep 2016
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=www-data --group=www-data --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_perl_module=dynamic --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v2_module --with-ipv6 --add-module=/usr/src/ngx_cache_purge-2.3

Versioning

The version numbers reflect the version of Git installed. The -r# suffix defines the revision number of that release for extra stability and does not necessarily correlate with the -r# suffix Alpine's repository uses. Should some aspect of the image be upgraded other than the Git version, defining a specific revision number in your Dockerfile will ensure you don't unexpectedly receive those changes until you've had time to review the updates and explicitly allow them.

Licenses

The bulk of the default configuration and snippets come from h5bp/server-configs-nginx. Read their license.

Nginx' license.