TDengine 从 Docker Hub 拉取镜像失败怎么解决
【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine
在 Docker 环境中启动 TDengine TSDB 时,第一步是从 Docker Hub 拉取镜像;当网络环境无法正常访问 Docker Hub 官方仓库(hub.docker.com)时,docker pull会超时或失败,导致容器无法启动。本文基于 TDengine 官方文档,给出排查拉取失败原因、离线加载镜像、使用镜像源三种解决方法,以及镜像到手之后启动容器并验证服务的方法。前提条件是本机已安装 Docker,且当前用户可以执行docker命令。
第一步:判断失败原因
处理前先区分两种情况,它们的处理方向不同:
无法访问 Docker Hub 官方仓库。
docker pull表现为连接超时、连接被拒等。这是官方 FAQ「安装与部署」章节专门覆盖的问题,对应下面的三种解决方法。镜像名称是旧名称。从
3.3.7.0版本开始,TDengine TSDB 的镜像名称做了调整:- 社区版镜像从
tdengine/tdengine重命名为tdengine/tsdb - 企业版镜像从
tdengine/tdengine-ee重命名为tdengine/tsdb-ee
如果你的
docker pull命令里仍在使用旧名称,应先改为上表的新名称再执行,而不是去处理网络问题。- 社区版镜像从
第二步:按原因选择解决方法
先检查网络连接
官方 FAQ 给出的第一条处理就是检查网络连接是否正常。如果换到可直连 Docker Hub 的网络后拉取恢复,直接执行拉取即可:
docker pull tdengine/tsdb-ee:latest这里以企业版镜像为例;社区版对应tdengine/tsdb。拉取成功后直接进入下一节启动容器。
离线下载镜像并用 docker load 加载
确认网络无法直连 Docker Hub 时,走离线通道:
- 前往 TDengine 产品下载中心的 Docker 镜像下载页面,获取 Docker 镜像下载链接并下载镜像文件。
- 下载完成后,使用
docker load命令加载镜像,具体用法详见下载页面的使用说明。 - 根据页面中的离线安装提示,修改镜像的名称和标签。
加载并改名完成之后,该镜像就等同于从 Docker Hub 拉取下来的镜像,后续启动命令中引用改名后的名称和标签。
尝试使用镜像源
官方 FAQ 给出的另一种尝试是使用其他镜像源,例如 CNIX Internal Container Registry Mirror(m.ixdev.cn)。注意该镜像源与 TDengine 无关,如果它失效,需要自行更换为网络上的其他镜像源,具体用法以各镜像源自身的使用说明为准。这条路径属于第三方渠道,官方文档中没有承诺其长期可用。
第三步:启动容器并验证服务
镜像到本机后,按运维指南「Docker 部署」一节的命令启动容器:
docker run -d --name tdengine \ -v ~/data/taos/dnode/data:/var/lib/taos \ -v ~/data/taos/dnode/log:/var/log/taos \ -p 6041:6041 tdengine/tsdb-ee说明:/var/lib/taos是 TDengine 默认数据文件目录,/var/log/taos是默认日志文件目录,均挂载自主机目录;-p 6041:6041映射的是 HTTP 服务端口,镜像启动时默认激活 HTTP 服务。如果你加载的是离线镜像,把命令末尾的tdengine/tsdb-ee替换为改名后的镜像名称和标签。
用docker ps查看容器状态,确认STATUS字段显示Up ... (healthy),说明容器已启动并正常运行:
docker ps -f name=tdengine再验证 HTTP 服务是否可用,该命令来自「Docker 部署」文档:
curl -u root:taosdata -d "show databases" localhost:6041/rest/sql也可以进入容器用taosshell 验证:
docker exec -it tdengine taos进入后执行show databases;。「Docker 部署」文档给出的示例输出如下(示例结果,时间等数值以你的实际运行为准):
taos> show databases; name | ================================= information_schema | performance_schema | Query OK, 2 rows in database (0.033802s)限制与后续参考
- 第三方镜像源与 TDengine 官方无关,失效后需自行更换,文档只保留了「尝试其他镜像源」这一方向。
- 离线方式必须完成「下载镜像文件 →
docker load加载 → 按页面提示修改镜像名称和标签」三步,缺一不可;加载后未改名的镜像不能直接用于docker run。 - 容器启动后如果涉及 root 密码变更、镜像升级或健康检查的版本差异(
3.3.6.6起支持TAOS_ROOT_PASSWORD,3.3.8.8及以上支持TAOS_ROOT_PASSWORD_FILE,3.4.1.0及以上支持taos-check),以「Docker 部署」文档中「自定义密码、升级与健康检查」一节的说明为准。
相关文档:
- 用 Docker 快速体验 TDengine TSDB
- Docker 部署
- 常见问题及反馈(1.3 节)
【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考