在Docker Swarm中创build一个networking

  1. 我有一个连接到postgres的java spring的web应用程序。 Сonnectionstring到数据库: spring.datasource.url=jdbc:postgresql://postgres:5432/postgres

  2. 有一个组合文件引发了Web应用程序和数据库:

 version: "3" services: postgres: networks: - backend image: postgres ports: - "5432:5432" volumes: - db-data:/var/lib/postgresql/data worker1: networks: - backend image: scripter51/worker ports: - "8082:8082" deploy: mode: replicated replicas: 2 placement: constraints: [node.role == worker] networks: backend: volumes: db-data: 

  1. 命令docker stack deploy --compose-file comp.yml test的机器上的公共服务docker stack deploy --compose-file comp.yml test

问题:如果数据库和Web应用程序在同一台计算机上 – 一切正常,如果不同 – 则应用程序无法通过服务的名称find数据库。

我能解决这个问题。 我试图使用docker的手段在主机和虚拟机之间创build一个networking – 显然这是行不通的。