library/swarmClassic Swarm 已被归档,不再进行积极开发。建议使用 Docker Engine 内置的 Swarm 模式(通过
docker swarm init命令)或其他编排系统。([***]
镜像名称:swarm
原主要用途:Docker 原生集群管理系统,用于将多个 Docker 主机组成集群并作为单一“虚拟”主机暴露,实现统一管理。
状态:已废弃(DEPRECATED),无官方支持。
原设计用于需要统一管理多个 Docker 主机的场景,适用于:
当前建议:由于该项目已废弃,所有场景均应迁移至 Docker Engine 内置的 Swarm 模式(docker swarm init)或 Kubernetes 等现代容器编排系统。
bash# 创建集群并获取唯一 cluster_id(仅作历史演示,实际已不可用) docker run --rm swarm create # 输出示例:6856663cdefdec325839a4b7e1de38e8(此为 cluster_id)
bash# <node_ip> 为节点的 IP 地址(需保证 Swarm 管理器可访问) docker run -d swarm join --addr=<node_ip:2375> token://<cluster_id>
bash# 在任意机器(如本地笔记本)启动管理器,暴露 <swarm_port> 端口 docker run -t -p <swarm_port>:2375 -t swarm manage token://<cluster_id>
bash# 查看集群信息 docker -H tcp://<swarm_ip:swarm_port> info # 在集群中运行容器 docker -H tcp://<swarm_ip:swarm_port> run ... # 查看集群内容器 docker -H tcp://<swarm_ip:swarm_port> ps # 查看容器日志 docker -H tcp://<swarm_ip:swarm_port> logs ...
bashdocker run --rm swarm list token://<cluster_id> # 输出示例:<node_ip:2375>
更多发现服务配置可参考:Swarm 发现服务文档
Swarm 原支持通过过滤器(Filters)和策略(Strategies)实现高级调度:
Swarm 原支持 CLI 与 Swarm 之间、Swarm 与 Docker 节点之间的 TLS 认证,配置方式与 Docker 一致:
bashswarm manage --tlsverify --tlscacert=<CA证书路径> --tlscert=<服务端证书路径> --tlskey=<服务端密钥路径> [...]
证书生成需满足
extendedKeyUsage = clientAuth,serverAuth,详细 TLS 配置可参考 Docker TLS 文档。
使用须知:使用本镜像需确保遵守所有包含软件的相关许可证。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务