|
@@ -68,7 +68,7 @@ $ docker run --name my-custom-nginx-container -d custom-nginx
|
|
|
|
|
|
### Using environment variables in %%IMAGE%% configuration
|
|
|
|
|
|
-Out-of-the-box, %%IMAGE%% doesn't support environment variables inside most configuration blocks. But this image contains a script to run `envsubst`, named `nginx-envsubst`. The script will be invoked automatically and will extract environment variables before %%IMAGE%% starts.
|
|
|
+Out-of-the-box, %%IMAGE%% doesn't support environment variables inside most configuration blocks. But this image has a function, which will extract environment variables before %%IMAGE%% starts.
|
|
|
|
|
|
Here is an example using docker-compose.yml:
|
|
|
|
|
@@ -76,7 +76,7 @@ Here is an example using docker-compose.yml:
|
|
|
web:
|
|
|
image: %%IMAGE%%
|
|
|
volumes:
|
|
|
- - ./default.conf.template:/etc/nginx/templates/default.conf.template
|
|
|
+ - ./templates:/etc/nginx/templates
|
|
|
ports:
|
|
|
- "8080:80"
|
|
|
environment:
|
|
@@ -84,25 +84,29 @@ web:
|
|
|
- NGINX_PORT=80
|
|
|
```
|
|
|
|
|
|
-The `default.conf.template` file may then contain variable references like this:
|
|
|
+By default, this function reads template files in `/etc/nginx/templates/*.template` and outputs the result of executing `envsubst` to `/etc/nginx/conf.d`.
|
|
|
|
|
|
-```
|
|
|
-listen ${NGINX_PORT};
|
|
|
-```
|
|
|
+So if you place `templates/default.conf.template` file, which contains variable references like this:
|
|
|
+
|
|
|
+ listen ${NGINX_PORT};
|
|
|
+
|
|
|
+outputs to `/etc/nginx/conf.d/default.conf` like this:
|
|
|
|
|
|
-By default, `nginx-envsubst` reads template files in `/etc/nginx/templates` and outputs the result of executing `envsubst` to `/etc/nginx/conf.d`.
|
|
|
+ listen 80;
|
|
|
|
|
|
-This behavior can be changed via the following environent variables:
|
|
|
+This behavior can be changed via the following environment variables:
|
|
|
|
|
|
-- `NGINX_ENVSUBST_TEMPLATE_DIR`
|
|
|
- - A directory containing template files (default: `/etc/nginx/templates`)
|
|
|
-- `NGINX_ENVSUBST_TEMPLATE_SUFFIX`
|
|
|
- - A suffix of template files (default: `.template`)
|
|
|
- - `nginx-envsubst` only processes the files whose name contains this suffix.
|
|
|
-- `NGINX_ENVSUBST_OUTPUT_DIR`
|
|
|
- - A directory where the result of executing envsubst is output (default: `/etc/nginx/conf.d`)
|
|
|
- - The output filename is the template filename with the suffix removed.
|
|
|
- - ex.) `/etc/nginx/templates/default.conf.template` will be output with the filename `/etc/nginx/conf.d/default.conf`.
|
|
|
+- `NGINX_ENVSUBST_TEMPLATE_DIR`
|
|
|
+ - A directory which contains template files (default: `/etc/nginx/templates`)
|
|
|
+ - When this directory doesn't exist, this function will do nothing about template processing.
|
|
|
+- `NGINX_ENVSUBST_TEMPLATE_SUFFIX`
|
|
|
+ - A suffix of template files (default: `.template`)
|
|
|
+ - This function only processes the files whose name ends with this suffix.
|
|
|
+- `NGINX_ENVSUBST_OUTPUT_DIR`
|
|
|
+ - A directory where the result of executing envsubst is output (default: `/etc/nginx/conf.d`)
|
|
|
+ - The output filename is the template filename with the suffix removed.
|
|
|
+ - ex.) `/etc/nginx/templates/default.conf.template` will be output with the filename `/etc/nginx/conf.d/default.conf`.
|
|
|
+ - This directory must be writable by the user running a container.
|
|
|
|
|
|
## Running %%IMAGE%% in read-only mode
|
|
|
|