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

的测试镜像。
自动构建的镜像可在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”来设置此变量。例如,要添加调试日志,可设置JAVA_OPTS,如docker-compose文件所示:
- 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-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
此配置使用内存存储。精简版仅支持的其他存储选项是Elasticsearch:
$ docker-compose -f docker-compose-slim.yml -f docker-compose-elasticsearch.yml up
默认docker-compose配置(docker-compose.yml)使用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镜像对虚拟内存要求更严格(详情见docker-library/docs),需相应调整(尤其是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 broker并激活Kafka收集器,该文件通过docker-compose覆盖添加Kafka+ZooKeeper容器及相关设置。
启动MySQL+Kafka配置:
$ docker-compose -f docker-compose.yml -f docker-compose-kafka.yml up
然后配置Kafka发送器,若应用在同一Docker网络中,bootstrapServers设为host.docker.internal:9092;若在同一主机但不在网络中,设为localhost:19092。
例如,若在本地运行示例应用,使用localhost:19092作为bootstrap server发送span到Docker中的Kafka broker。
可通过docker-compose-ui.yml文件扩展docker-compose配置,使用NGINX容器在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启动Prometheus(配置为抓取Zipkin指标,暴露在9090端口),以及禁用认证的Grafana(暴露在3000端口)。启动后,Grafana配置Prometheus为数据源,并导入仪表盘([***]$DOCKER_IP:3000/dashboard/db/zipkin-prometheus访问仪表盘。
若要独立运行zipkin-ui并连接远程Zipkin服务器,需设置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