docker-compose - 除非network_mode:host,否则Spring引导不会连接到postgres

时间:2018-06-13 10:17:33

标签: postgresql spring-boot docker-compose

尝试使用docker-compose在Mac上本地运行集成测试 我可以将应用程序连接到数据库的唯一方法是使用network_mode:host。

可能是这种方式但我无法通过以下方式访问应用程序端点:curl localhost:8080 / blabla

我已经尝试了所有Stack Overflow的答案以及许多配置和不同版本的docker-compose.yml但到目前为止都没有。

除非是网络主机,否则始终存在同样的问题。

version: '3'
services:
  app:
    build:
      context: .
    expose:
      - "8085"
    network_mode: host
    depends_on:
      - mypostgres
    environment:
      - PROFILE=local
      - DB_URL=jdbc:postgresql://localhost/db
      - DB_USER=xxxx
      - DB_SECRET=xxxx
      - DB_PORT=5432


  mypostgres:
    restart: always
    build:
      context: ./db
    ports:
      - "5433:5432"
    network_mode: host
    volumes:
      - $HOME/data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=xxxx
      - POSTGRES_USER=xxxx
      - POSTGRES_DB=xxxx


  nginx:
    image: nginx:1.13
    restart: always
    ports:
      - 80:80
      - 443:443
    depends_on:
      - app
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d

0 个答案:

没有答案