我正在使用ansible和Docker(在Swarm中运行)在AWS中构建多层env。我有一个主节点和2个工作节点。我正在使用Docker堆栈使用以下命令在swarm中创建服务:
docker stack deploy -c myStack.yml myTest
我有两个问题:
提前致谢
答案 0 :(得分:1)
让我们从你的第二个问题开始,因为它更容易。
您可以向节点添加标签,然后在创建服务时使用约束(堆栈相同)。例如
docker node update --label-add "role=worker" .... # on all your worker nodes
docker service create --constraint "node.labels.role==worker" ...
对于您的第一个问题,您需要持久的数据。有一些解决方案。
Flocker是一个很大的解决方案。它有更多的支持,更多的选择和更安全。配置起来也很困难。
Blocker是我目前使用的那个。它必须安装在每个节点上,我可以确认它工作正常并且工作正常。语法就像,
docker service create --mount type=volume,target=/data,source=vol-08a1211f22864700c,volume-driver=blocker ....
我希望这足以让您开始研究。