尝试使用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