diff --git a/Dockerfile b/Dockerfile
index 323de733..d38639f6 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -45,6 +45,6 @@ COPY static static
COPY views views
-#ENTRYPOINT [ "/app/PrometheusAlert" ]
+COPY docker-entrypoint.sh docker-entrypoint.sh
-CMD if [ ! -f /app/db/PrometheusAlertDB.db ];then cp /opt/PrometheusAlertDB.db /app/db/PrometheusAlertDB.db;echo 'init ok!';else echo 'pass!';fi && /app/PrometheusAlert
+ENTRYPOINT [ "/bin/sh", "/app/docker-entrypoint.sh" ]
diff --git a/README.MD b/README.MD
index f2ff8037..83163175 100644
--- a/README.MD
+++ b/README.MD
@@ -84,6 +84,23 @@ curl http://localhost:8080/health
#默认登录帐号和密码在app.conf中有配置
```
+## Docker
+
+配置文件 app.conf 的内容可以使用环境变量的方式初始化。
+
+所设置的变量前缀必须以 `PA_` 开始,后面使用配置文件的配置项名称,特别注意的是此配置对大小写并不敏感。
+
+示例
+
+```
+docker run -d \
+-e PA_LOGIN_USER=prometheusalert
+-e PA_LOGIN_PASSWORD=prometheusalert
+-e PA_TITLE=PrometheusAlert
+feiyu563/prometheus-alert
+```
+
+所有的配置文件内容请[点击此处](https://github.com/feiyu563/PrometheusAlert/blob/master/conf/app-example.conf)查看
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
new file mode 100755
index 00000000..c5a3253b
--- /dev/null
+++ b/docker-entrypoint.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+if [ ! -f /app/db/PrometheusAlertDB.db ]; then
+ cp /opt/PrometheusAlertDB.db /app/db/PrometheusAlertDB.db
+ echo 'init ok!'
+else
+ echo 'pass!'
+fi
+
+if env | grep -q '^PA_[^=].\+'; then
+ for VAR_NAME in $(env | grep '^PA_[^=].\+' | sed -r "s/^PA_([^=]*).*/\1/g"); do
+ VAL_CONTENT=$(eval echo \${PA_${VAR_NAME}})
+ echo "Config overridden from Environment variable, var=${VAR_NAME}=${VAL_CONTENT}"
+ sed -i -E "s/(${VAR_NAME})(\ *=\ *).*/\1\2${VAL_CONTENT}/i" /app/conf/app.conf
+ done
+fi
+
+exec /app/PrometheusAlert