The nginx config is based on the default Ubuntu 18.04 nginx configuration.
Following modification were done:
echo "daemon off;" >> nginx/nginx.conf
In the ./configure
statement, you can find other extensions you could
install. They're used in one of the Ubuntu packages (nginx-full
,
nginx-light
, …).
This should be seen as a base package from which you can install/reconfigure your nginx.
I suggest you only use this as a builder in your multistage containers
To get a minimal nginx version:
FROM gvangool/nginx-src:1.14.0 as builder RUN cd /usr/src/nginx-${NGINX_VERSION} && ./configure \ --prefix=/usr/share/nginx \ --conf-path=/etc/nginx/nginx.conf \ --http-log-path=/var/log/nginx/access.log \ --error-log-path=/var/log/nginx/error.log \ --lock-path=/var/lock/nginx.lock \ --pid-path=/run/nginx.pid \ --modules-path=/usr/lib/nginx/modules \ --http-client-body-temp-path=/var/lib/nginx/body \ --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \ --http-proxy-temp-path=/var/lib/nginx/proxy \ --http-scgi-temp-path=/var/lib/nginx/scgi \ --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \ --with-debug \ --with-threads \ --with-pcre-jit \ --with-http_ssl_module \ --with-http_stub_status_module \ --with-http_realip_module \ --with-http_auth_request_module \ --with-http_v2_module \ --with-http_slice_module \ --with-http_gzip_static_module \ --without-http_browser_module \ --without-http_geo_module \ --without-http_limit_req_module \ --without-http_limit_conn_module \ --without-http_memcached_module \ --without-http_referer_module \ --without-http_split_clients_module \ --without-http_userid_module \ --add-module=${MODULESDIR}/http-echo RUN cd /usr/src/nginx-${NGINX_VERSION} && make && make install
A full multi-stage example can be found in example/Dockerfile
.