diff --git a/common/expired_dict.py b/common/expired_dict.py
index f16af52..bd70e99 100644
--- a/common/expired_dict.py
+++ b/common/expired_dict.py
@@ -1,4 +1,5 @@
-from datetime import datetime, timedelta
+import time
+
 
 class ExpiredDict(dict):
     def __init__(self, expires_in_seconds):
@@ -7,7 +8,8 @@ class ExpiredDict(dict):
 
     def __getitem__(self, key):
         value, expiry_time = super().__getitem__(key)
-        if datetime.now() > expiry_time:
+        # 如果元素已过期,则从字典中删除该元素并抛出 KeyError 异常
+        if time.monotonic() > expiry_time:
             del self[key]
             raise KeyError("expired {}".format(key))
         self.__setitem__(key, value)
@@ -38,4 +40,4 @@ class ExpiredDict(dict):
         return [(key, self[key]) for key in self.keys()]
     
     def __iter__(self):
-        return self.keys().__iter__()
\ No newline at end of file
+        return self.keys().__iter__()
diff --git a/docker/Dockerfile.latest b/docker/Dockerfile.latest
new file mode 100644
index 0000000..fed4011
--- /dev/null
+++ b/docker/Dockerfile.latest
@@ -0,0 +1,35 @@
+FROM python:3.7.9-alpine
+
+LABEL maintainer="foo@bar.com"
+ARG TZ='Asia/Shanghai'
+
+ARG CHATGPT_ON_WECHAT_VER
+
+ENV BUILD_PREFIX=/app \
+    BUILD_OPEN_AI_API_KEY='YOUR OPEN AI KEY HERE'
+
+COPY chatgpt-on-wechat.tar.gz ./chatgpt-on-wechat.tar.gz
+
+RUN apk add --no-cache \
+        bash \
+    && tar -xf chatgpt-on-wechat.tar.gz \
+    && mv chatgpt-on-wechat ${BUILD_PREFIX} \
+    && cd ${BUILD_PREFIX} \
+    && cp config-template.json ${BUILD_PREFIX}/config.json \
+    && sed -i "2s/YOUR API KEY/${BUILD_OPEN_AI_API_KEY}/" ${BUILD_PREFIX}/config.json \
+    && /usr/local/bin/python -m pip install --no-cache --upgrade pip \
+    && pip install --no-cache   \
+        itchat-uos==1.5.0.dev0  \
+        openai
+
+WORKDIR ${BUILD_PREFIX}
+
+ADD ./entrypoint.sh /entrypoint.sh
+
+RUN chmod +x /entrypoint.sh \
+    && adduser -D -h /home/noroot -u 1000 -s /bin/bash noroot \
+    && chown noroot:noroot ${BUILD_PREFIX}
+
+USER noroot
+
+ENTRYPOINT ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/docker/build.latest.sh b/docker/build.latest.sh
new file mode 100644
index 0000000..d80e84c
--- /dev/null
+++ b/docker/build.latest.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+# move chatgpt-on-wechat
+tar -zcf chatgpt-on-wechat.tar.gz --exclude=../../chatgpt-on-wechat/docker  ../../chatgpt-on-wechat
+
+# build image
+docker build -f Dockerfile.alpine \
+             -t zhayujie/chatgpt-on-wechat .
\ No newline at end of file