使用Docker swarm模式部署Cloudsuite基准测试

时间:2016-10-28 12:45:56

标签: docker docker-swarm

我想部署一个名为cloudsuite的基准测试,使用swarm模式来利用它在主机之间分配的好处。我尝试使用的案例(解释here)有4个组成部分:

  • memcached server
  • 网络服务器
  • db server
  • faban client

部署文档中解释的基准测试的方法是使用docker run。例如,对于部署Web服务器,使用此命令:

$ docker run -dt --net=host --name=web_server cloudsuite/web-serving:web_server \
  /etc/bootstrap.sh ${DATABASE_SERVER_IP} ${MEMCACHED_SERVER_IP} ${MAX_PM_CHILDREN}

如您所见,它具有自定义入口点以及一些其他参数。其他组件也是如此。关于这些情况我有两个问题:

1-我可以在群集模式下使用服务来部署这些容器吗?我如何在创建服务的命令中给出入口点和参数?

2-据我所知,到目前为止,服务是针对提供长期服务的容器,如nginx或mysql服务器。但我的最后一个组件,faban客户,不是一个长期的事情。它只是启动并向其他组件发送一些请求并收集一些结果。而且我也需要从这个容器中获取这些结果。它也可以是服务吗?

我已经阅读过docker,docker swarm以及其他很多帖子的文档,但我还不确定我是否正确理解了docker swarm。

1 个答案:

答案 0 :(得分:0)

好吧,我找不到使用swarm模式部署基准测试的方法。所以第一个问题可能仍然存在。 我怎么发现第二个问题。由于基准测试的客户端组件不是服务,因此它不是服务,不应该作为一个服务实现。使用docker swarm(不是swarm模式),可以轻松部署覆盖网络并运行彼此通信的所有组件。您可以查看我的repository in Github以获取此类部署的bash脚本。但是,为了展示如何运行客户端组件,我为它带来了我的代码行:

sudo docker -H :4000 run \
--network web-serving-network \
--name faban_client \
cloudsuite/web-serving:faban_client {WEB_SERVER_IP}