gpt4 book ai didi

java - 访问docker环境之外的数据库

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:36 25 4
gpt4 key购买 nike

我创建了一个微服务环境,更准确地说是 5 个服务,它们相互连接并访问同一个数据库 (PostgreSQL)。开发完成后,我开始为服务创建 docker 镜像。所有镜像都已创建,但是,我无法将 postgreSQL 放入 docker 环境中,因为它已经在 localhost 的机器上运行,并且其他应用程序依赖于它,所以我无法迁移到 docker 环境。我想知道我的应用程序是否可以访问环境外部的数据库?

下面是我的 docker-compose

version: '2'
services:
server:
image: microservices/server:latest
mem_limit: 1073741824 # RAM 1GB
environment:
- SPRING_PROFILES_ACTIVE=docker
expose:
- "8080"
ports:
- "8080:8080"
networks:
- microservices
security-server:
image: microservices/security-server:latest
mem_limit: 1073741824 # RAM 1GB
environment:
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- server
expose:
- "8081"
ports:
- "8081:8081"
networks:
- microservices
restart: "always"
api-gateway:
image: microservices/api-gateway:latest
mem_limit: 1073741824 # RAM 1GB
environment:
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- server
- security-server
expose:
- "9999"
ports:
- "9999:9999"
networks:
- microservices
restart: "always"
imovel:
image: microservices/imovel:latest
mem_limit: 1073741824 # RAM 1GB
environment:
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- server
- security-server
- api-gateway
expose:
- "8082"
ports:
- "8082:8082"
networks:
- microservices
restart: "always"
imovel2:
image: microservices/imovel:latest
mem_limit: 1073741824 # RAM 1GB
environment:
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- server
- security-server
- api-gateway
expose:
- "9098"
ports:
- "9098:9098"
networks:
- microservices
restart: "always"
cliente:
image: microservices/cliente:latest
mem_limit: 1073741824 # RAM 1GB
environment:
- SPRING_PROFILES_ACTIVE=docker
depends_on:
- server
- security-server
- api-gateway
expose:
- "8083"
ports:
- "8083:8083"
networks:
- microservices
restart: "always"
networks:
microservices:
driver: bridge

link引用,他的问题是 postgres 不接受来自外部的连接。我的问题更多的是开始,我应该从哪里开始配置连接?

最佳答案

您可以在撰写格式中指定 extra_hosts 并将主机的 IP 地址作为环境变量传递。

extra_hosts:
- "my_host:${HOST_IP}"

https://docs.docker.com/compose/compose-file/#extra_hosts

关于java - 访问docker环境之外的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52011129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com