main:添加核心文件并初始化项目
新增内容: - 创建基础项目结构。 - 添加 `.gitignore` 和 `.dockerignore` 文件。 - 编写 `pyproject.toml` 和依赖文件。 - 添加算法模块及示例算法。 - 实现核心功能模块(日志、错误处理、指标)。 - 添加开发和运行所需的相关脚本文件及文档。
This commit is contained in:
33
deployment/Dockerfile.redis-exporter
Normal file
33
deployment/Dockerfile.redis-exporter
Normal file
@@ -0,0 +1,33 @@
|
||||
# Redis Exporter Dockerfile
|
||||
FROM python:3.11-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# 安装依赖
|
||||
COPY requirements.txt .
|
||||
RUN pip install --no-cache-dir redis prometheus-client
|
||||
|
||||
# 复制 exporter 代码
|
||||
COPY src/functional_scaffold/core/metrics_redis_exporter.py .
|
||||
|
||||
# 暴露端口
|
||||
EXPOSE 8001
|
||||
|
||||
# 启动 HTTP 服务器提供指标
|
||||
CMD ["python", "-c", "\
|
||||
from http.server import HTTPServer, BaseHTTPRequestHandler; \
|
||||
from metrics_redis_exporter import get_metrics; \
|
||||
class MetricsHandler(BaseHTTPRequestHandler): \
|
||||
def do_GET(self): \
|
||||
if self.path == '/metrics': \
|
||||
self.send_response(200); \
|
||||
self.send_header('Content-Type', 'text/plain; version=0.0.4'); \
|
||||
self.end_headers(); \
|
||||
self.wfile.write(get_metrics()); \
|
||||
else: \
|
||||
self.send_response(404); \
|
||||
self.end_headers(); \
|
||||
def log_message(self, format, *args): pass; \
|
||||
server = HTTPServer(('0.0.0.0', 8001), MetricsHandler); \
|
||||
print('Redis Exporter 启动在端口 8001'); \
|
||||
server.serve_forever()"]
|
||||
Reference in New Issue
Block a user