From b55d21f999f845ba9582bcd19a374156561160f3 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Fri, 27 Dec 2013 21:10:17 -0800 Subject: [PATCH] nginx: Add an Nginx image --- README.md | 1 + build.sh | 1 + nginx/Dockerfile.template | 41 +++++++++++++++++++++++++++++++++++++++ nginx/README.md | 13 +++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 nginx/Dockerfile.template create mode 100644 nginx/README.md diff --git a/README.md b/README.md index a2879e1..c4956e7 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ The dependency graph is: `-- gentoo-en-us (adds locale) `-- gentoo-syslog (adds syslog-ng and associates) |-- buildbot (adds a Buildbot master and slave) + |-- nginx (adds Nginx) |-- postgresql (adds PostgreSQL) |-- redis (adds Redis) |-- stunnel (adds stunnel) diff --git a/build.sh b/build.sh index ae6d3a3..938d9c8 100755 --- a/build.sh +++ b/build.sh @@ -44,6 +44,7 @@ REPOS="${REPOS:- gentoo-java buildbot elasticsearch + nginx postgresql redis stunnel diff --git a/nginx/Dockerfile.template b/nginx/Dockerfile.template new file mode 100644 index 0000000..bdae994 --- /dev/null +++ b/nginx/Dockerfile.template @@ -0,0 +1,41 @@ +# Copyright (C) 2013 W. Trevor King +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +FROM NAMESPACE/gentoo-syslog:TAG +MAINTAINER A. U. Thor +#VOLUME ["PORTAGE:/usr/portage:ro", "PORTAGE/distfiles:/usr/portage/distfiles:rw"] +RUN echo 'NGINX_MODULES_HTTP="access auth_basic autoindex charset fastcgi gzip gzip_static limit_req map proxy rewrite scgi ssi stub_status"' >> /etc/portage/make.conf +RUN echo 'NGINX_MODULES_MAIL=""' >> /etc/portage/make.conf +RUN emerge -v www-servers/nginx +RUN eselect news read new +RUN rc-update add nginx default + +RUN sed -i 's/listen 127.0.0.1;/listen 80 default_server;/' /etc/nginx/nginx.conf +RUN mkdir /var/www/localhost/htdocs + +# Container networking happens automatically +RUN sed -i 's/need net$/use net/' /etc/init.d/* + +CMD rc default && tail -F /var/log/messages +EXPOSE 80 diff --git a/nginx/README.md b/nginx/README.md new file mode 100644 index 0000000..05355cc --- /dev/null +++ b/nginx/README.md @@ -0,0 +1,13 @@ +Run this [Nginx][] image with: + + $ docker run -d -name nginx-0 -v /var/www/nginx-0/htdocs:/var/www/localhost/htdocs -p 80:80 wking/nginx + +[volume-mounting][volume-mount] your content under the container's +`/var/www/localhost/htdocs`. You can also mount volumes from other +containers and serve their data, although you may neet to tweak the +config to serve from an alternative location. Adjusting this image to +serve from a configurable `$HTTP_ROOT` wouldn't be too difficult +either. + +[Nginx]: http://nginx.org/ +[volume-mount]: http://docs.docker.io/en/latest/use/working_with_volumes/ -- 2.26.2