mirror of https://github.com/bit0rez/goenvalue.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1008 B
45 lines
1008 B
6 years ago
|
# GoEnValue - a simple templates processor from environment variables.
|
||
|
|
||
|
This tool very useful if you need to configure your containerised software.
|
||
|
You can do it by passing environment variables into container on your Docker container start.
|
||
|
|
||
|
How it works
|
||
|
---
|
||
|
You need to:
|
||
|
1. create templates from your configuration files
|
||
|
2. add in your entrypoint script state with execution of goenvalue
|
||
|
3. build image with your software, templates and goenvalue
|
||
|
4. run container with environment variables
|
||
|
|
||
|
Example
|
||
|
---
|
||
|
**php.ini.tpl**
|
||
|
```ini
|
||
|
...
|
||
|
memory_limit = {{ .MEMORY_LIMIT }}
|
||
|
...
|
||
|
```
|
||
|
|
||
|
**Dockerfile**
|
||
|
```Dockerfile
|
||
|
FROM php:7
|
||
|
ENV PHP_MEMORY_LIMIT="64M"
|
||
|
COPY php.ini.tpl /etc/php/php.ini.tpl
|
||
|
COPY entrypoint.sh /entrypoint.sh
|
||
|
...
|
||
|
ENTRYPOINT /entrypoint.sh
|
||
|
```
|
||
|
|
||
|
**entrypoint.sh**
|
||
|
```bash
|
||
|
#!/bin/bash
|
||
|
goenvalue -p PHP -i /etc/php/php.ini.tpl
|
||
|
exec $@
|
||
|
```
|
||
|
|
||
|
Test it:
|
||
|
```bash
|
||
|
$ docker run --rm -it -e PHP_MEMORY_LIMIT=128M my/php:7 php -i | grep memory_limit
|
||
|
memory_limit => 128M => 128M
|
||
|
```
|