该项目帮助将基于CubicWeb的应用构建为Docker镜像,使用Debian基础镜像,包含多种版本的CubicWeb和Python,适用于生产环境部署。
可用镜像标签:
latest1.0该镜像包含构建生产环境CubicWeb应用镜像所需的必要组件,设计为应用Dockerfile的父镜像使用。具体包含:
/usr/bin/python和/usr/bin/pip符号链接到选定的Python版本(2.7、3.5或3.7)/etc/uwsgi/uwsgi.ini/pyramid.inipyramid.ini、处理/etc/cubicweb.d/instance/data中的静态数据文件及数据库自动升级入口点还支持运行各类命令(如db-create创建数据库)或任意命令。
/src目录;若从其他位置或PyPI安装cube,需设置CUBE环境变量/etc/cubicweb.d/instance,可通过CW_INSTANCE环境变量修改(通常无需修改)根据集成级别不同,有多种使用方式,选择建议:
假设在cubicweb-blog的源代码目录中:
dockerfileFROM logilab/cubicweb-base USER root COPY . /src RUN pip install -e /src USER cubicweb RUN docker-cubicweb-helper create-instance
若从PyPI安装或源代码不在/src目录,需设置CUBE环境变量:
dockerfileFROM logilab/cubicweb-base USER root RUN pip install cubicweb-blog USER cubicweb ENV CUBE=blog RUN docker-cubicweb-helper create-instance
环境变量控制all-in-one.conf中的设置,关键变量包括:
CW_BASE_URL:实例访问URL(默认http://localhost:8080),需包含协议,如[***]CW_DB_DRIVER(默认postgres)、CW_DB_NAME、CW_DB_USER、CW_DB_PASSWORDCW_LOGIN(默认admin)、CW_PASSWORD(默认admin)用于验证镜像可用性:
bashdocker run --rm -it -e CW_DB_NAME=db.sqlite myimage sh -c "cubicweb-ctl db-create -a instance && uwsgi --ini /etc/uwsgi/uwsgi.ini"
访问http://localhost:8080即可打开实例。
需先运行db-create命令创建初始数据库:
bash# 在本地PostgreSQL集群创建名为"myapp"的数据库 docker run --rm -it -e CW_DB_NAME=myapp -e CW_DB_USER=me -v /var/run/postgresql:/var/run/postgresql myimage db-create # 在远程PostgreSQL服务器创建名为"myapp"的数据库 docker run --rm -it -e CW_DB_NAME=myapp -e CW_DB_USER=me -e CW_DB_PASSWORD=secret -e CW_DB_HOST=dbserver myimage db-create # 在本地/tmp/db.sqlite文件中创建数据库 docker run --rm -it -e CW_DB_NAME=/tmp/db.sqlite -v /tmp/db.sqlite:/tmp/db.sqlite myimage db-create
在本地8080端口启动uwsgi服务器:
bash# 前台运行 docker run --rm -it -p 8080:8080 myapp # 后台运行 docker run -d --restart=always --name myapp myapp
需启动scheduler以运行CubicWeb循环任务:
bash# 前台运行 docker run --rm -it myapp cubicweb-ctl scheduler instance # 后台运行 docker run -d --restart=always --name myapp-scheduler myapp cubicweb-ctl scheduler instance
.dockerignore文件避免复制无用文件,示例:
.* *.egg-info **/__pycache__ Dockerfile Jenkinsfile Makefile tox.ini test debian


来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429