我想使用新的 docker swarm mode在我的笔记本电脑 (x86_64) 和 Raspberry Pis (armhf) 集群上测试我的分布式算法。
经过一堆配置,我可以成功创建 swarm 集群,由一个管理节点(笔记本电脑)和 N+1 个工作节点(N rasps,加上我的笔记本电脑)组成。它看起来像这样:
laptop$ docker swarm init --advertise-addr 192.168.10.1
raspi1$ docker swarm join --token <TOKEN> 192.168.10.1:2377
# [...]
raspiN$ docker swarm join --token <TOKEN> 192.168.10.1:2377
现在,我为我的项目构建了两个镜像:一个 x86_64 镜像 ( my_project:x86_64
) 和一个 armhf 镜像 ( my_project:armhf
)。我真的很喜欢这种新的 swarm 模式的节点/服务架构,因为创建 M(准)独立节点正是我想要的,但是如何使用docker service create ...
命令将正确的图像提供给正确的节点呢?
据我所知,docker service create
只取一张图片作为参数!我在这里看到我可以给每个节点一个标签,并要求服务只使用具有这个特定标签的节点,但这不是我想要的。我最终会管理两个按架构划分的任务集群,这会粉碎我利用 swarm 模式的调度程序和调度程序的愿望。
我是他追求便携性的可悲极客,这就是我!
PS:注意,这有标签“docker-swarm-mode”,而不是“docker-swarm”标签,因为docker swarm和docker swarm mode是两个不同的东西。