
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
setup-core 是一个用于通过 Docker 容器化部署后端服务的解决方案,集成了 Usergrid(BaaS 平台)、Cassandra(分布式数据库)、Elasticsearch(搜索引擎)等核心组件。该镜像支持通过 Docker Compose 或手动 Docker 命令快速搭建完整的后端服务环境,适用于开发、测试及小型生产环境,提供日志集中收集和资源监控功能,简化服务部署与管理流程。
docker stats 命令行监控和 cAdvisor 图形化监控工具前置条件
docker-compose.yml 的目录:cd setup-core常用命令
交互模式(带日志):
docker-compose up
后台模式:
docker-compose up -d
查看所有容器日志(实时):
docker-compose logs -f
查看指定容器日志(实时):
docker-compose logs -f usergrid
列出容器及状态:
docker-compose ps
销毁环境:
docker-compose downdocker-compose down -rmi -v通过专用日志容器实现日志集中管理,推荐使用 Logspout,它可自动捕获同一主机上其他容器的 stdout 输出并转发至远程 syslog 服务。
Logspout 运行命令
bashdocker run --name="logspout" \ --volume=/var/run/docker.sock:/var/run/docker.sock \ gliderlabs/logspout \ syslog+tls://logs.papertrailapp.com:55555
可通过修改目标 URL(如
syslog+tls://<your-server>:<port>)指定自定义日志服务器。
基础命令行监控
使用 docker stats 命令实时查看容器资源使用情况:
docker stats
图形化监控(cAdvisor)
cAdvisor 提供 docker stats 数据的图形化界面,支持 CPU、内存、网络和磁盘使用量的可视化展示。
运行 cAdvisor
bashdocker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --publish=8888:8080 \ --detach=true \ --name=cadvisor \ google/cadvisor:latest
访问 http://<your-hostname>:8888/ 查看监控界面,可点击 "Docker Containers" 查看具体容器的详细统计信息。
存储驱动配置
cAdvisor 支持将统计数据导出至多种时序数据库(如 Elasticsearch、Prometheus),通过 -storage_driver 标志启用,详情参见 https://github.com/google/cadvisor/blob/master/docs/storage/README.md%E3%80%82
除 Docker Compose 外,可直接使用 Docker 命令部署,以下示例使用 Docker Hub 的自动构建镜像(https://hub.docker.com/r/dlsimg/%EF%BC%89%E3%80%82
启动基础组件
启动 Cassandra(数据库):
bashdocker run --detach --name cassandra --volume $(pwd)/cassandra-data:/var/lib/cassandra dlsimg/cassandra
通过
--volume挂载本地目录实现数据持久化。
启动 Elasticsearch(搜索引擎):
bashdocker run --detach --name elasticsearch --volume $(pwd)/elasticsearch-data:/data dlsimg/elasticsearch
启动 Usergrid(BaaS 平台)
通过环境变量(--env)配置,需链接 Cassandra 和 Elasticsearch 容器:
bashdocker run --detach --name usergrid \ --env ADMIN_PASS=password \ # 管理员密码 --env ORG_NAME=org \ # 组织名称 --env APP_NAME=app \ # 应用名称 --link elasticsearch:elasticsearch \ # 链接 Elasticsearch 容器 --link cassandra:cassandra \ # 链接 Cassandra 容器 -p 8080:8080 \ # 端口映射(主机:容器) dlsimg/usergrid
启动 Usergrid 管理门户
bashdocker run --detach --name portal \ --env USERGRID_HOST=usergrid:8080 \ # Usergrid 服务地址 -p 80:80 \ # 端口映射 dlsimg/usergrid-portal
构建镜像:
使用 docker build 从 Dockerfile 构建镜像,-t 标志指定标签:
bash# 示例:构建 Cassandra 镜像 cd cassandra && docker build -t cassandra . # 构建其他组件 cd elasticsearch && docker build -t elasticsearch . cd usergrid/baas && docker build -t usergrid . cd usergrid/portal && docker build -t portal .
拉取镜像:
使用 docker pull 从远程仓库(默认 Docker Hub)拉取镜像:
bashdocker pull dlsimg/base-node:latest
连接容器:
docker attach <container_name> 连接容器 stdout,但通常不提供 shell。
在容器内执行命令:
docker exec -it <container_name> bash 启动交互式 shell(需容器内存在 bash)。
获取容器 IP:
bashdocker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_name_or_id> # 或通过 exec 命令 docker exec -it <container_name> ip addr
停止所有运行中容器:
docker kill $(docker ps -q)
删除所有停止的容器:
docker rm $(docker ps -a -q)
删除所有镜像:
docker rmi $(docker images -q)
通过 gem install ugc 安装 ugc,详细文档参见 https://github.com/apache/incubator-usergrid/tree/master/ugc%EF%BC%8C%E7%A4%BA%E4%BE%8B%E5%8F%82%E8%A7%81 https://github.com/apache/incubator-usergrid/tree/master/ugc#examples%E3%80%82
创建配置文件:
ugc profile org # 创建名为 "org" 的配置文件,后续命令基于此配置
设置目标服务地址:
ugc target url http://$IP:8080/org/app # 指定 Usergrid 服务地址、组织和应用
管理员登录:
ugc login --admin $USERNAME@example.com # 登录管理员账户(admin 或 orgadmin),密码与用户名相同
普通用户登录:
ugc login $USERNAME@example.com # 登录普通用户,默认用户 "orguser",密码与用户名相同
列出集合:
ugc list collections # 列出集合(类似关系数据库中的表),也可列出其他资源
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务