
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该项目帮助将基于CubicWeb的应用构建为https://www.docker.com/%E9%95%9C%E5%83%8F%E3%80%82%E6%9E%84%E5%BB%BA%E5%8C%85%E5%90%AB%E5%A4%9A%E7%A7%8D%E7%89%88%E6%9C%AC%E7%9A%84CubicWeb%E5%92%8CPython%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8https://www.debian.org/%E5%9F%BA%E7%A1%80%E9%95%9C%E5%83%8F%E3%80%82
latest、3.32、py37-buster-3.32dev、py37-buster-dev(使用最新的Mercurial变更集构建)3.31、py37-buster-3.313.30、py37-buster-3.303.29、py37-buster-3.293.28、py37-buster-3.283.27、py37-buster-3.273.26、py37-buster-3.263.25、py27-buster-3.25py35-stretch-3.27py35-stretch-3.26py27-buster-3.26py27-stretch-3.26py27-buster-3.25py27-stretch-3.25py37、py37-busterpy35、py35-stretchpy27、py27-busterpy27-stretchbuildpackage、buster-buildpackagestretch-buildpackage该镜像包含构建适用于生产环境的CubicWeb应用镜像所需的必要包,设计为应用Dockerfile的基础镜像。
/usr/bin/python和/usr/bin/pip符号链接到选定的Python版本(2.7、3.5或3.7)/etc/uwsgi/uwsgi.ini)/pyramid.ini)/etc/cubicweb.d/instance/data)及数据库自动升级/src目录,若从其他位置或PyPI安装需设置CUBE环境变量/etc/cubicweb.d/instance,可通过CW_INSTANCE环境变量修改onbuild镜像:已弃用,仅在Dockerfile位于源代码树且无需构建工具链时使用源码树构建
在cubicweb-blog源代码树中:
dockerfileFROM docker.xuanyuan.run/logilab/cubicweb USER root COPY . /src RUN pip install -e /src USER cubicweb RUN docker-cubicweb-helper create-instance
非源码树构建
从PyPI安装或非/src目录安装时:
dockerfileFROM docker.xuanyuan.run/logilab/cubicweb USER root RUN pip install cubicweb-blog USER cubicweb ENV CUBE=blog RUN docker-cubicweb-helper create-instance
警告:onbuild镜像包含自动操作逻辑,已弃用。
所有镜像均有-onbuild后缀版本,onbuild标签是py37-buster-3.28-onbuild的别名。
极简Dockerfile示例:
dockerfileFROM docker.xuanyuan.run/logilab/cubicweb:onbuild
无Dockerfile构建命令:
bashecho "FROM logilab/cubicweb:onbuild" | docker build -f - -t cubicweb-blog .
使用未预安装CubicWeb的onbuild镜像:
dockerfileFROM docker.xuanyuan.run/logilab/cubicweb:py37-onbuild
关键环境变量:
CW_BASE_URL:实例访问URL(默认:http://localhost:8080%EF%BC%89%EF%BC%8C%E9%9C%80%E5%8C%85%E5%90%AB%E5%8D%8F%E8%AE%AE%EF%BC%88%E5%A6%82https://myapp.example.com%EF%BC%89CW_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 docker.xuanyuan.run/myimage sh -c "cubicweb-ctl db-create -a instance && uwsgi --ini /etc/uwsgi/uwsgi.ini"
访问 http://localhost:8080 查看实例
本地PostgreSQL
bashdocker run --rm -it -e CW_DB_NAME=myapp -e CW_DB_USER=me -v /var/run/postgresql:/var/run/postgresql docker.xuanyuan.run/myimage db-create
远程PostgreSQL
bashdocker run --rm -it -e CW_DB_NAME=myapp -e CW_DB_USER=me -e CW_DB_PASSWORD=secret -e CW_DB_HOST=dbserver docker.xuanyuan.run/myimage db-create
SQLite文件
bashdocker run --rm -it -e CW_DB_NAME=/tmp/db.sqlite -v /tmp/db.sqlite:/tmp/db.sqlite docker.xuanyuan.run/myimage db-create
前台运行
bashdocker run --rm -it -p 8080:8080 docker.xuanyuan.run/myapp
后台运行
bashdocker run -d --restart=always --name docker.xuanyuan.run/myapp myapp
前台运行
bashdocker run --rm -it docker.xuanyuan.run/myapp cubicweb-ctl scheduler instance
后台运行
bashdocker run -d --restart=always --name myapp-scheduler docker.xuanyuan.run/myapp cubicweb-ctl scheduler instance
避免复制无用文件:
.* *.egg-info **/__pycache__ Dockerfile Jenkinsfile Makefile tox.ini test debian
构建前拉取最新基础镜像,确保包含安全更新和依赖更新:
bashdocker pull docker.xuanyuan.run/logilab/cubicweb
用于构建Debian包并集成到多阶段构建中。
假设依赖来自"deb [***] buster cubicweb-3.28"仓库:
dockerfileFROM docker.xuanyuan.run/logilab/cubicweb:buildpackage as buildpackage COPY . /src RUN buildpackage -d /src FROM docker.xuanyuan.run/logilab/cubicweb:3.28 COPY --from=buildpackage /repo /repo RUN apt-get update && apt-get -y --no-install-recommends install cubicweb-blog ENV CUBE=blog USER cubicweb RUN docker-cubicweb-helper create-instance
从归档URL构建:
dockerfileFROM logilab/cubicweb:buster-buildpackage RUN buildpackage -u [***] COPY . /src RUN buildpackage -d /src
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务