Docker 镜像
docker pull registry.cn-hangzhou.aliyuncs.com/an1-public/btlockmp:1.1.3自建镜像
注意, v1.1.2 版本以上才能使用环境变量
目录结构
下载程序并按以下目录结构存放文件
./app/btlockmp
./app/config.toml
./Dockerfile
DockerFile
FROM alpine:3.20.1
LABEL authors="eddy@an1ai"
# 安装必要的运行时依赖(如 CA 证书)
RUN apk --no-cache add ca-certificates tzdata && update-ca-certificates
# 设置时区(可选)
ENV TZ=Asia/Shanghai
# 设置工作目录
WORKDIR /app
# 复制可执行文件
COPY ./app /app
RUN chmod +x /app/btlockmp
# 创建非 root 用户(增强安全性)
RUN addgroup -S an1group && \
adduser -S an1 -G an1group && \
chown -R an1:an1group /app
USER an1
# 暴露端口
EXPOSE 8080
EXPOSE 1883
# 启动应用
ENTRYPOINT ["./btlockmp"]创建镜像
docker build -t btlockmp:1.1.2 .运行容器
需要修改redis信息和数据库信息
docker run --name btlockmp -d \
-e BLE_REDIS_ADDRESS=192.168.31.83:6379 \
-e BLE_DB_POSTGRES="host=192.168.31.83 user=an1 password=an1password dbname=an1 port=9102 connect_timeout=5 sslmode=disable TimeZone=Asia/Shanghai" \
-p 9080:8080 -p 9081:1883 --restart=always \
--log-opt max-size=10m --log-opt max-file=3 \
btlockmp:1.1.2可用的环境变量
其中 redis 信息 和 数据库信息 是必须设置的环境变量
| 变量名 | 默认值 | 描述 |
|---|---|---|
BLE_REDIS_ADDRESS |
127.0.01:6379 | redis 地址 |
| BLE_REDIS_PASSWORD | redis 密码 | |
| BLE_REDIS_DB | 0 | redis 数据库 |
| BLE_REDIS_PREFIX | An1ai | redis 键值的前缀 |
BLE_DB_POSTGRES |
postgres数据库连接字符串,格式如下:host=192.168.10.83 user=an1 password=an1password dbname=an1 port=5432 connect_timeout=5 sslmode=disable TimeZone=Asia/Shanghai |
|
BLE_DB_MYSQL |
mysql数据库连接字符串,格式如下: username:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local |
|
| BLE_SETTING_WINDOW_SECONDS | 1 | 统计时间段(秒) |
| BLE_SETTING_MAX_REQUESTS | 2 | 统计时间段内的API最大调用数量 |
| BLE_SETTING_STORE_LOG | true | 存储日志在数据库 |
| BLE_SETTING_STORE_DAYS | 30 | 日志存储天数 |
| BLE_SETTING_BATTERY_ALERT | false | 启用电量告警提示 |
| BLE_SETTING_BATTERY_LOW | 20 | 低电量告警数值 |
| BLE_JWT_SECRET_KEY | eddy.at.an1ai.com | JWT SECRET KEY |
| BLE_LOG_ERROR_LOG | ./logs/err.log | 异常日志保存路径 |
| BLE_LOG_OTHER_LOG | ./logs/other.log | 日常日志保存路径 |
| BLE_LOG_LEVEL | debug | 日志级别,有 debug,info,warn,error |
| BLE_LOG_MAX_BACKUPS | 30 | 日志保留多少个备份 (数量超过天数会删除) |
| BLE_LOG_MAX_AGE | 30 | 日志保留多少天(数量超过备份数会删除) |
| BLE_LOG_MAC_SIZE | 10 | 每个文件最大容量(M) |
作者:阮德明 创建时间:2025-06-25 16:20
最后编辑:阮德明 更新时间:2025-11-17 16:50
最后编辑:阮德明 更新时间:2025-11-17 16:50