sourcepole/qwc-uwsgi-baseQWC uwsgi 基础镜像是 QWC 服务生态的基础组件之一,基于 uWSGI 服务器构建,主要用于支持 Python Web 应用的部署与运行。该镜像提供了标准的 WSGI 协议实现,作为 QWC 系列服务的底层运行环境,可帮助开发者快速构建和部署基于 Python 的 Web 服务。
核心定位:作为 QWC 服务(如 qwc-odk-service、qwc-mapviewer 等)的基础镜像,提供统一的 uWSGI 运行环境,简化上层应用的容器化构建流程。
该镜像作为基础镜像,通常需通过 Dockerfile 继承并添加应用代码及依赖。
dockerfile# 继承 QWC uwsgi 基础镜像 FROM qwc-uwsgi-base:latest # 设置工作目录 WORKDIR /app # 复制应用代码 COPY . /app # 安装应用依赖(如需) RUN pip install --no-cache-dir -r requirements.txt # (可选)覆盖基础镜像的 uWSGI 配置 COPY uwsgi.ini /etc/uwsgi/
通过挂载本地应用代码并指定 uWSGI 配置,可直接运行应用:
bashdocker run -d \ --name qwc-app-test \ -p 8000:8000 \ -v $(pwd)/app:/app \ -v $(pwd)/uwsgi.ini:/etc/uwsgi/uwsgi.ini \ qwc-uwsgi-base:latest
yamlversion: '3.8' services: qwc-app: image: qwc-uwsgi-base:latest container_name: qwc-app restart: always ports: - "8000:8000" volumes: - ./app:/app # 挂载应用代码目录 - ./uwsgi.ini:/etc/uwsgi/uwsgi.ini # 挂载自定义配置文件(可选) environment: - UWSGI_WORKERS=4 # 工作进程数 - UWSGI_THREADS=2 # 每个进程的线程数 - UWSGI_MODULE=wsgi:app # 应用入口模块(格式:<模块名>:<可调用对象>) - LOG_LEVEL=info # 日志级别
通过环境变量可动态调整 uWSGI 运行参数,无需修改配置文件。常用参数如下:
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
UWSGI_WORKERS | 工作进程数 | 2 |
UWSGI_THREADS | 每个进程的线程数 | 1 |
UWSGI_LISTEN | 监听队列大小 | 100 |
UWSGI_MODULE | WSGI 应用入口模块 | wsgi:app |
UWSGI_CALLABLE | 应用可调用对象名 | app |
UWSGI_PORT | 监听端口 | 8000 |
UWSGI_MASTER | 是否启用 master 进程 | true |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
如需更复杂的配置(如 SSL、超时设置、静态文件映射),可通过挂载自定义 uwsgi.ini 文件实现。基础配置示例:
ini# uwsgi.ini 示例 [uwsgi] http = :$(UWSGI_PORT) module = $(UWSGI_MODULE) callable = $(UWSGI_CALLABLE) workers = $(UWSGI_WORKERS) threads = $(UWSGI_THREADS) master = $(UWSGI_MASTER) listen = $(UWSGI_LISTEN) logto = /var/log/uwsgi.log log-reopen = true # 日志轮转支持
workers 数量需根据宿主机 CPU 核心数调整)Dockerfile 中通过 pip install 或 apk add 等命令添加



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务