ckan/ckan-dev本仓库包含 CKAN 的官方 Docker 镜像。这些镜像分为 base(生产环境)和 dev(开发环境)两种类型,旨在简化 CKAN 平台的部署与开发流程。
镜像通常通过 Docker Compose 与其他服务(如数据库、Solr 等)配合使用,共同构成完整的 CKAN 平台。官方推荐的 CKAN Docker 部署方案可参考:ckan-docker。
问题反馈或代码贡献请提交至 GitHub 仓库。
以下为支持的 CKAN 版本、镜像类型及对应的 Docker 标签信息。镜像类型分为 base(生产用)和 dev(开发用),两者基于不同的基础镜像构建。
| CKAN 版本 | 镜像类型 | 基础镜像 | Docker 标签 | 备注 |
|---|---|---|---|---|
| 2.11.x | base | python:3.10-slim-bookworm | ckan/ckan-base:2.11, ckan/ckan-base:2.11.1, ckan/ckan-base:2.11-py3.10, ckan/ckan-base:2.11.1-py3.10 | |
| 2.11.x | dev | python:3.10-slim-bookworm | ckan/ckan-dev:2.11, ckan/ckan-dev:2.11.1, ckan/ckan-dev:2.11-py3.10, ckan/ckan-dev:2.11.1-py3.10 | |
| 2.10.x | base | python:3.10-slim-bookworm | ckan/ckan-base:2.10-py3.10, ckan/ckan-base:2.10.6-py3.10 | |
| 2.10.x | dev | python:3.10-slim-bookworm | ckan/ckan-dev:2.10-py3.10, ckan/ckan-dev:2.10.6-py3.10 | |
| 2.10.x | base | alpine:3.17 | ckan/ckan-base:2.10.6, ckan/ckan-base:2.10 | ⚠️ 已弃用。请使用基于 Python/Debian 的镜像 |
| 2.10.x | dev | alpine:3.17 | ckan/ckan-dev:2.10.6, ckan/ckan-dev:2.10 | ⚠️ 已弃用。请使用基于 Python/Debian 的镜像 |
| 2.9.x | base | python:3.9-slim-bookworm | ckan/ckan-base:2.9-py3.9, ckan/ckan-base:2.9.11-py3.9 | |
| 2.9.x | dev | python:3.9-slim-bookworm | ckan/ckan-dev:2.9-py3.9, ckan/ckan-dev:2.9.11-py3.9 | |
| 2.9.x | base | alpine:3.15 | ckan/ckan-base:2.9.11, ckan/ckan-base:2.9 | ⚠️ 已弃用。请使用基于 Python/Debian 的镜像 |
| 2.9.x | dev | alpine:3.15 | ckan/ckan-dev:2.9.11, ckan/ckan-dev:2.9 | ⚠️ 已弃用。请使用基于 Python/Debian 的镜像 |
| master | base | python:3.10-slim-bookworm | ckan/ckan-base:master, ckan/ckan-base:master-py3.10 | 每日构建,禁止用于生产环境 |
| master | dev | python:3.10-slim-bookworm | ckan/ckan-dev:master, ckan/ckan-dev:master-py3.10 | 每日构建,禁止用于生产环境 |
除上述标签外,每个发布版本还包含以下格式的标签:
ckan/ckan-base:{major_version}-py{python_version}-{release_name}
(例如:ckan/ckan-base:2.11-py3.10-release1)
base(生产优化,精简依赖)和 dev(含开发工具,如代码热重载)两种镜像,满足不同场景需求。| 镜像类型 | 适用场景 | 特点 |
|---|---|---|
base | 生产环境部署、稳定服务运行 | 精简依赖,性能优化,适合生产环境 |
dev | 插件开发、功能调试、自定义配置测试 | 含开发工具(如 pip install -e),支持代码热更新 |
通过以下命令拉取指定版本的镜像:
bash# 拉取 CKAN 2.11.x base 镜像(生产用) docker pull ckan/ckan-base:2.11 # 拉取 CKAN 2.11.x dev 镜像(开发用) docker pull ckan/ckan-dev:2.11
CKAN 运行依赖 PostgreSQL、Solr 等服务,官方推荐通过 Docker Compose 部署。完整配置请参考 ckan-docker,以下为基础示例片段:
yaml# docker-compose.yml(简化版) version: '3' services: ckan: image: ckan/ckan-base:2.11 ports: - "5000:5000" environment: - CKAN_SITE_URL=http://localhost:5000 - CKAN__DATABASE__URL=postgresql://ckan_user:ckan_pass@db:5432/ckan_db - CKAN__SOLR__URL=[***] depends_on: - db - solr db: image: postgres:13 environment: - POSTGRES_USER=ckan_user - POSTGRES_PASSWORD=ckan_pass - POSTGRES_DB=ckan_db solr: image: ckan/solr:latest volumes: - solr_data:/opt/solr/server/solr/ckan/data volumes: solr_data:
使用 dev 镜像进行插件开发时,可通过挂载本地代码目录实现热更新:
bashdocker run -it --rm \ -v $(pwd)/my-ckan-plugin:/app/my-ckan-plugin \ -e CKAN_SITE_URL=http://localhost:5000 \ ckan/ckan-dev:2.11
master 标签镜像为每日构建的开发版本,包含未稳定功能,禁止用于生产环境。2.11.1),避免使用浮动标签(如 2.11),防止意外更新导致兼容性问题。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务