本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
openstates.org Docker镜像是用于部署openstates.org网站及API服务的容器化解决方案。该镜像基于openstates.org官方代码仓库构建,旨在提供美国各州立法数据的公开访问服务,包括立法机构信息、法案文本、投票结果、立法者资料等数据的查询与展示。
通过环境变量自定义服务行为,关键变量如下表:
| 环境变量名 | 描述 | 默认值 | 必要性 |
|---|---|---|---|
DATABASE_URL | 数据库连接地址(PostgreSQL) | postgresql://user:pass@db:5432/openstates | 必需(需自行配置数据库) |
REDIS_URL | Redis缓存连接地址 | redis://redis:6379/0 | 推荐 |
SECRET_KEY | Django应用密钥(用于加密) | 随机生成(生产环境需手动指定) | 生产环境必需 |
DEBUG | 调试模式开关 | False | 开发环境可选 |
ALLOWED_HOSTS | 允许访问的主机名 | localhost,127.0.0.1 | 生产环境必需 |
DATA_SYNC_INTERVAL | 数据同步间隔(单位:小时) | 24 | 可选 |
API_RATE_LIMIT | API请求速率限制(次/分钟) | 60 | 可选 |
为确保数据持久化(如同步的立法数据、日志),需挂载以下目录:
| 宿主机路径 | 容器路径 | 用途 |
|---|---|---|
/path/to/data | /app/data | 存储同步的立法数据文件 |
/path/to/logs | /app/logs | 存储应用日志 |
/path/to/static | /app/static | 静态资源(CSS/JS/图片) |
容器默认暴露Web服务端口 8000,需映射至宿主机端口(如 80 或 8000)。
docker run)docker run -d \ --name openstates \ -p 8000:8000 \ -e DATABASE_URL="postgresql://user:pass@db-host:5432/openstates" \ -e REDIS_URL="redis://redis-host:6379/0" \ -e SECRET_KEY="your-secure-secret-key" \ -e ALLOWED_HOSTS="your-domain.com,localhost" \ -v /local/data:/app/data \ -v /local/logs:/app/logs \ openstates/openstates.org:latest
docker-compose.yml)version: '3.8' services: web: image: openstates/openstates.org:latest ports: - "8000:8000" environment: - DATABASE_URL=postgresql://postgres:postgres@db:5432/openstates - REDIS_URL=redis://redis:6379/0 - SECRET_KEY=your-secure-secret-key - ALLOWED_HOSTS=localhost,127.0.0.1,your-domain.com - DEBUG=False - DATA_SYNC_INTERVAL=12 volumes: - ./data:/app/data - ./logs:/app/logs - ./static:/app/static depends_on: - db - redis restart: unless-stopped db: image: postgres:14-alpine volumes: - postgres_data:/var/lib/postgresql/data/ environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=openstates restart: unless-stopped redis: image: redis:alpine volumes: - redis_data:/data restart: unless-stopped volumes: postgres_data: redis_data:
启动命令:
docker-compose up -d
# 进入容器 docker exec -it openstates bash # 执行同步命令 python manage.py sync_data --all-states
# 查看应用日志 tail -f /path/to/logs/app.log # 查看Docker容器日志 docker logs -f openstates
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429