在docker swarm堆栈部署期间未在工作节点上创建覆盖网络

时间:2020-02-11 17:06:23

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

我有一个带有覆盖网络(名称覆盖测试)的Docker群集群,具有单个管理器和2个工作程序节点。 工作节点之一仅包含数据库服务器容器。 当我在群集上部署堆栈并且我的堆栈不包含在工作程序节点上部署数据库服务器服务的说明时,我遇到了一个问题,即节点上没有网络创建。我的任务是手动将数据库服务器容器连接到该网络。 我看到解决此问题的唯一方法是使具有db服务器的该节点成为swarm管理器,但是swarm管理器应仅是其他主机。

是否有其他想法可以解决? 预先感谢。

Docker进行部署:

version: "3.5"

services:

  test-front:
    build: ./host-front/test-front
    image: test-front:alpine-3
    depends_on:
      - test-back
    networks:
      - test-multihost
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.labels.nodename == front

  test-back:
    build: ./host-front/test-back
    image: test-back:openjdk8-alpine
    restart: always
    networks:
      - test-multihost
    depends_on:
      - test-db
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.labels.nodename == front

  test-adapter:
    build: ./host-front/test-adapter
    image: test-adapter:openjdk8-alpine
    restart: always
    networks:
      - test-multihost
    depends_on:
      - test-core
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.labels.nodename == front

  test-core:
    build: ./host-main/test-core
    image: test-core:openjdk8-alpine
    restart: always
    depends_on:
      - test-db
    networks:
      - test-multihost
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.labels.nodename == main

  test-db:
    build: ./host-main/test-db
    image: test-db:openjdk8-alpine
    restart: always
    depends_on:
      - test-postgres
    networks:
      - test-multihost
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.labels.nodename == main

  test-postgres:
    build: ./host-db/test-postgres
    image: test-postgres:postgres-12.1-alpine
    restart: always
    networks:
      - test-multihost
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.labels.nodename == db

networks:
  test-multihost:
    external: true

我手动创建了覆盖网络: docker network create -d overlay --attachable test-multihost

0 个答案:

没有答案