dlsimg/node-defaultsetup-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 服务。
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 提供 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 标志启用,详情参见 cAdvisor 存储文档。
除 Docker Compose 外,可直接使用 Docker 命令部署,以下示例使用 Docker Hub 的自动构建镜像(dlsimg)。
启动 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
通过环境变量(--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
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,详细文档参见 ugc 文档,示例参见 ugc 示例。
创建配置文件:
ugc profile org # 创建名为 "org" 的配置文件,后续命令基于此配置
设置目标服务地址:
ugc target url [***] # 指定 Usergrid 服务地址、组织和应用
管理员登录:
ugc login --admin $*** # 登录管理员账户(admin 或 orgadmin),密码与用户名相同
普通用户登录:
ugc login $*** # 登录普通用户,默认用户 "orguser",密码与用户名相同
列出集合:
ugc list collections # 列出集合(类似关系数据库中的表),也可列出其他资源

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务