
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
dotCMS开发镜像是专为dotCMS开发创建的Docker镜像,包含运行dotCMS所需的所有服务,包括Postgres 16和Opensearch 1.x。该镜像提供90天开发者许可证,支持运行dotCMS UVE所需的企业功能。所有dotCMS、数据库和ES索引数据均存储在/data目录,可通过映射实现环境持久化。其核心特性之一是能够克隆现有dotCMS实例。
/data目录,支持卷映射实现数据持久化复制以下命令运行干净的dotCMS开发环境,所有数据和资产将存储在./data目录:
bashdocker run --rm \ -p 8443:8443 \ -v $PWD/data:/data \ dotcms/dotcms-dev:nightly
启动后,管理员密码将在日志输出中显示。可通过HTTPS在8443端口登录,本地运行时使用以下地址:
[***]
我们为最新的2个LTS版本构建了开发镜像。注意:使用较新或latest镜像启动后,无法将数据降级到旧LTS版本(数据格式不保证向后兼容),此时应迁移./data目录并重新开始。从旧版本可升级到新版本或latest版本。
24.04
bashdocker run --rm \ -p 8443:8443 \ -v $PWD/data:/data \ dotcms/dotcms-dev:24.04_lts
23.10
bashdocker run --rm \ -p 8443:8443 \ -v $PWD/data:/data \ dotcms/dotcms-dev:23.10_lts
| 版本 | 开发镜像 |
|---|---|
| 最新(每日构建) | dotcms/dotcms-dev:nightly |
| 24.04 lts | dotcms/dotcms-dev:24.04.24_lts |
| 23.10 lts | dotcms/dotcms-dev:23.10.24_lts |
指定源环境和有效认证方式后,镜像将尝试从源环境拉取资产和数据库。
注意:要克隆的源环境必须运行版本等于或低于开发镜像的dotCMS。
启动镜像时传递DOTCMS_SOURCE_ENVIRONMENT以及DOTCMS_API_TOKEN或DOTCMS_USERNAME_PASSWORD(格式:admin@dotcms.com:admin)。启动过程中,镜像将连接指定的dotCMS实例,下载数据库和资产,加载并以调试模式启动dotCMS。服务器启动后,若从备份加载,可能需要执行全量重建索引(取决于dotCMS版本)。
使用API Token克隆
拉取资产和SQL备份并导入新实例。需使用目标环境的相同凭据登录:
bashexport TOK=XXXXXXX_YOUR_DOTCMS_TOKEN.eXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX docker run --rm \ -p 8443:8443 \ -v $PWD/data:/data \ -e DOTCMS_SOURCE_ENVIRONMENT=https://demo.dotcms.com \ -e DOTCMS_API_TOKEN=$TOK \ dotcms/dotcms-dev:nightly
使用用户名/密码克隆
拉取资产和SQL备份并导入新实例。需使用目标环境的相同凭据登录:
bashdocker run --rm \ -p 8443:8443 \ -v $PWD/data:/data \ -e DOTCMS_SOURCE_ENVIRONMENT=https://demo.dotcms.com \ -e DOTCMS_USERNAME_PASSWORD="admin@dotcms.com:admin" \ dotcms/dotcms-dev:nightly
使用starter.zip克隆
请求源服务器生成starter.zip(初始导入可能耗时较长):
bashdocker run --rm \ -p 8443:8443 \ -v $PWD/data:/data \ -e DOTCMS_SOURCE_ENVIRONMENT=https://demo.dotcms.com \ -e DOTCMS_USERNAME_PASSWORD="admin@dotcms.com:admin" \ -e DOTCMS_CLONE_TYPE=starter \ dotcms/dotcms-dev:nightly
开发调试模式(暴露Postgres端口)
dotCMS Java进程将等待调试器连接到8000端口:
bashdocker run --rm \ --pull always \ -p 8443:8443 \ -p 5432:5432 \ -p 8000:8000 \ -v $PWD/data:/data \ -e DOTCMS_DEBUG=true \ dotcms/dotcms-dev:nightly
该镜像支持所有标准dotCMS Docker环境变量,数据库和ES已预配置,无需额外修改。此外支持以下特定环境变量:
DOTCMS_SOURCE_ENVIRONMENT:要克隆的环境URL,例如https://demo.dotcms.comDOTCMS_CLONE_TYPE:克隆类型,可选dump或starter,默认dump。dump模式拉取数据库备份和资产(推荐用于大型站点);starter模式强制生成starter.zip(较慢)DOTCMS_API_TOKEN:源环境管理员用户的有效dotCMS API令牌DOTCMS_USERNAME_PASSWORD:源环境管理员用户的用户名:密码(格式如admin@dotcms.com:admin)DOTCMS_DEBUG:是否以调试模式运行dotCMS并监听8000端口远程调试,默认falseALL_ASSETS:是否包含资产旧版本,默认false(仅下载当前活动和工作版本资产)若需映射自定义证书,创建包含证书、私钥和CA链的.pem文件(密码设为dotcms),并映射到容器内路径/srv/dotserver/tomcat/conf/local.dotcms.site.pem以覆盖默认证书。
由于Docker限制,下载大型环境可能超时。可手动下载资产和数据库并添加到映射的数据卷中,dotCMS启动时会自动导入/data/assets.zip和/或/data/dotcms_db.sql.gz。
手动下载资产和数据库
dotCMS提供管理员专用端点下载数据和资产:
/api/v1/maintenance/_downloadAssets:下载资产/api/v1/maintenance/_downloadDb:下载数据库下载资产时可指定?oldAssets=false仅包含活动和工作版本资产,减小文件大小。
示例wget命令下载资产
bashwget --header="$AUTH_HEADER" \ -t 1 -O assets.zip \ $DOTCMS_SOURCE_ENVIRONMENT/api/v1/maintenance/_downloadAssets
示例wget命令下载数据库
bashwget --header="$AUTH_HEADER" \ -t 1 -O dotcms_db.sql.gz \ $DOTCMS_SOURCE_ENVIRONMENT/api/v1/maintenance/_downloadDb
示例wget命令下载starter.zip
bashwget --header="$AUTH_HEADER" \ -t 1 -O starter.zip \ $DOTCMS_SOURCE_ENVIRONMENT/api/v1/maintenance/_downloadStarterWithAssets
删除映射的./data目录即可删除并重置开发实例。
默认从https://github.com/dotCMS/core/tree/master/docker/dev-env%E6%9E%84%E5%BB%BA%EF%BC%8C%E4%BD%BF%E7%94%A8%60dotcms/dotcms:latest%60%E5%9F%BA%E7%A1%80%E9%95%9C%E5%83%8F%E3%80%82%E5%8F%AF%E9%80%9A%E8%BF%87%60DOTCMS_DOCKER_TAG%60%E6%9E%84%E5%BB%BA%E5%8F%82%E6%95%B0%E6%8C%87%E5%AE%9A%E5%85%B6%E4%BB%96dotCMS%E7%89%88%E6%9C%AC%EF%BC%8C%E4%BE%8B%E5%A6%82%EF%BC%9A
bashdocker build --pull \ --build-arg DOTCMS_DOCKER_TAG=testing \ -t dotcms/dotcms-dev .
或构建多平台镜像:
bashdocker buildx build \ --build-arg DOTCMS_DOCKER_TAG=master_latest_SNAPSHOT \ --platform linux/amd64,linux/arm64 \ --pull \ -t dotcms/dotcms-dev:master_latest_SNAPSHOT .
镜像内部运行以下服务:
/data/opensearch/data/postgres若需远程连接这些服务,启动容器时需暴露对应端口(如-p 5432:5432暴露PostgreSQL)。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务