mirror of https://github.com/bit0rez/goenvalue.git
Hamster
6 years ago
committed by
GitHub
1 changed files with 44 additions and 0 deletions
@ -0,0 +1,44 @@
|
||||
# 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 |
||||
``` |
Loading…
Reference in new issue