本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本仓库已归档,其内容已合并至 [***]
本仓库包含Zipkin Server的Docker构建定义和发布流程,同时包含Kafka、Cassandra等传输和存储后端的测试镜像。
自动构建的镜像可在Quay.io的OpenZipkin组织下获取,并镜像至Docker Hub。
OpenZipkin仅提供以下生产可用镜像:
如果使用这些镜像时遇到问题,请提交issue或加入gitter。
此处的其他镜像和docker-compose配置仅用于开发和探索目的。例如,它们旨在帮助您集成整个Zipkin系统进行测试,无需了解所有细节,也无需下载大量文件。
例如,openzipkin/zipkin-cassandra并非为实际使用设计。您会发现它无法配置为运行多个节点,也无法像“实际环境”那样处理文件系统。我们期望生产用户使用存储或传输(如Kafka)的标准镜像,仅测试或学***Zipkin的用户使用此处提供的镜像。
Zipkin无依赖,例如可运行内存中的Zipkin服务器:
docker run -d -p 9411:9411 openzipkin/zipkin-slim
在 (docker ip):9411 查看UI。
在UI中,选择“zipkin-server”,然后点击“Find Traces”。
配置通过环境变量进行,由zipkin-server定义。值得注意的是,STORAGE_TYPE环境变量包括“cassandra”、“mysql”和“elasticsearch”。
注意:openzipkin/zipkin-slim镜像仅支持“elasticsearch”存储。要使用其他存储类型,必须使用主镜像openzipkin/zipkin。
在Docker中,以下环境变量同样适用:
JAVA_OPTS:用于设置Java参数,如堆大小或信任存储位置。STORAGE_PORT_9042_TCP_ADDR:监听9042端口的Cassandra节点。启动容器时,通常通过将运行zipkin-cassandra的容器链接为“storage”来设置此环境变量。STORAGE_PORT_3306_TCP_ADDR:监听3306端口的MySQL节点。启动容器时,通常通过将运行zipkin-mysql的容器链接为“storage”来设置此环境变量。STORAGE_PORT_9200_TCP_ADDR:监听9200端口的Elasticsearch节点。启动容器时,通常通过将运行zipkin-elasticsearch的容器链接为“storage”来设置此环境变量。当设置ES_HOSTS或ES_AWS_DOMAIN时,此变量将被忽略。KAFKA_PORT_2181_TCP_ADDR:监听2181端口的ZooKeeper节点。启动容器时,通常通过将运行zipkin-kafka的容器链接为“kafka”来设置此环境变量。例如,要添加调试日志,可按docker-compose文件中的方式设置JAVA_OPTS:
- JAVA_OPTS=-Dlogging.level.zipkin=DEBUG -Dlogging.level.zipkin2=DEBUG
openzipkin/zipkin和openzipkin/zipkin-slim镜像在名为“zipkin”的nologin用户下运行,主目录为“/zipkin”。由于这是一个无发行版(distroless)镜像,不会安装许多工具,但可通过以下方式使用shell浏览内容:
$ docker run -it --rm --entrypoint /busybox/sh openzipkin/zipkin /zipkin $ ls BOOT-INF META-INF org run.sh
本项目配置为使用docker-compose运行Docker容器。注意,默认配置需要docker-compose 1.6.0+和docker-engine 1.10.0+。
要启动默认的docker-compose配置,运行:
$ docker-compose up
在 $(docker ip):9411 查看Web UI。
要在UI中查看特定跟踪,在下拉菜单中选择“zipkin-server”,然后点击“Find Traces”按钮。
要启动更小、更快的Zipkin发行版,运行:
$ docker-compose -f docker-compose-slim.yml up
这将启动内存存储。Slim仅支持的另一个选项是Elasticsearch:
$ docker-compose -f docker-compose-slim.yml -f docker-compose-elasticsearch.yml up
docker-compose.yml中定义的默认docker-compose配置由MySQL支持。此配置在各自的容器中启动zipkin、zipkin-mysql和zipkin-dependencies(定时任务)。
可使用docker-compose-cassandra.yml文件扩展docker-compose配置,以使用Cassandra代替MySQL。该文件使用docker-compose覆盖来替换存储容器。
要启动Cassandra支持的配置,运行:
$ docker-compose -f docker-compose.yml -f docker-compose-cassandra.yml up
可使用docker-compose-elasticsearch.yml文件扩展docker-compose配置,以使用Elasticsearch代替MySQL。该文件使用docker-compose覆盖来替换存储容器。
要启动Elasticsearch支持的配置,运行:
$ docker-compose -f docker-compose.yml -f docker-compose-elasticsearch.yml up
zipkin-elasticsearch5和zipkin-elasticsearch6镜像对虚拟内存要求更严格。您需要相应调整(特别是如果注意到Elasticsearch崩溃!)
# 如果Docker在主机上运行,直接调整内核设置 $ sudo sysctl -w vm.max_map_count=262144 # 如果使用docker-machine/Docker Toolbox/Boot2Docker,远程调整相同设置 $ docker-machine ssh default "sudo sysctl -w vm.max_map_count=262144"
可使用docker-compose-kafka.yml文件扩展docker-compose配置,以托管测试Kafka代理并激活Kafka收集器。该文件使用docker-compose覆盖添加Kafka+ZooKeeper容器和相关设置。
要启动MySQL+Kafka配置,运行:
$ docker-compose -f docker-compose.yml -f docker-compose-kafka.yml up
然后使用host.docker.internal:9092作为bootstrapServers值配置Kafka发送器(如果应用程序在同一Docker网络中),或使用localhost:19092(如果不在同一网络但在同一主机上)。
换句话说,如果您在笔记本电脑上运行示例应用程序,将使用localhost:19092引导服务器向Docker中运行的Kafka代理发送span。
可使用docker-compose-ui.yml文件扩展docker-compose配置,以在端口80上托管UI。该文件使用docker-compose覆盖添加NGINX容器和相关设置。
要启动NGINX配置,运行:
$ docker-compose -f docker-compose.yml -f docker-compose-ui.yml up
此容器还可作为围绕Zipkin创建代理配置的框架,如身份验证、处理zipkin-js应用的CORS或终止SSL。
Zipkin内置Prometheus指标导出器。docker-compose.yml文件启动配置为抓取Zipkin的Prometheus,暴露在端口9090。您可打开$DOCKER_HOST_IP:9090并开始探索指标(在Zipkin的/prometheus端点可用)。
docker-compose.yml还启动禁用身份验证的Grafana容器,暴露在端口3000。启动时,它配置docker-compose启动的Prometheus实例作为数据源,并导入在[***]docker-compose up后,您可打开$DOCKER_IP:3000/dashboard/db/zipkin-prometheus并使用仪表板。
如果要针对远程Zipkin服务器独立运行zipkin-ui,需要相应设置ZIPKIN_BASE_URL:
$ docker run -d -p 80:80 \ -e ZIPKIN_BASE_URL=[***] \ openzipkin/zipkin-ui
如果使用Docker machine,调整docker-compose-kafka.yml中的KAFKA_ADVERTISED_HOST_NAME和Kafka发送器的bootstrapServers配置,以匹配Docker主机IP(例如192.168.99.100:19092)。
如果使用提供的MySQL服务器或镜像,确保 schema 和其他参数与文档匹配。


免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429