在一个节点上部署docker堆栈(共同调度容器,如docker swarm)

时间:2017-01-22 10:25:56

标签: docker docker-compose docker-swarm docker-swarm-mode

我知道使用docker-swarm(现在是遗留的)的docker-compose能够在一个节点上共同调度某些服务(使用依赖性过滤器,如链接)

我想知道使用现代docker引擎群模式和Docker 1.13中引入的新堆栈部署是否可以实现这种协同调度

在docker-compose文件版本3中,在群集中部署堆栈时会说链接被忽略,因此显然链接不是解决方案。

我们有一堆服务器来运行批量短期运行的作业,它们之间的网络速度不是很高。我们希望在一台服务器上运行每个批处理作业(由多个容器组成),以避免网络开销。这个功能是在docker stack或docker swarm模式下实现的还是我们应该使用传统的docker-swarm?

此外,我无法在展示位置政策中找到与其他容器的协同安排。

2 个答案:

答案 0 :(得分:1)

@Roman:你是对的。

要部署到特定节点,您需要使用展示位置策略:

version: '3'
services:

  job1:
    image: example/job1
    deploy:
      placement:
        node.hostname: node-1
    networks:
      - example

  job2:
    image: example/job2
   deploy:
      placement:
        node.hostname: node-1
    networks:
      - example

networks:
  example:
    driver: overlay

答案 1 :(得分:-1)

您仍然可以使用depends_on

值得一看dockerize