docker中容器与容器之间的通信(java项目与oracle之间的通信)

docker中容器与容器之间的通信(java项目与oracle之间的通信)

如果在本地运行,访问docker中的项目,是可以的

spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:XE

检测自己的docker是否支持host.docker.internal或docker.for.mac.host.internal

macdeMacBook-Pro:~ mac$ nslookup host.docker.internal
Server:		172.20.10.1
Address:	172.20.10.1#53

** server can't find host.docker.internal: NXDOMAIN

macdeMacBook-Pro:~ mac$ nslookup docker.for.mac.host.internal
Server:		172.20.10.1
Address:	172.20.10.1#53

** server can't find docker.for.mac.host.internal: NXDOMAIN

如果在docker也构建springboot项目,就是容器与容器之间的通信,就需要用到

Mac:docker.for.mac.host.internal
Linux:host.docker.internal

spring.datasource.url=jdbc:oracle:thin:@docker.for.mac.host.internal:1521:XE

linux的可能需要在构建时提前配置

在 Docker 20.10 及以上版本中,Docker 访问宿主机的方式有所变化:

在 Docker 命令行中,添加:

--add-host=host.docker.internal:host-gateway

在 docker-compose 中,添加:

extra_hosts:
      - host.docker.internal:host-gateway

即可通过 host.docker.internal 域名访问宿主机。

你可能感兴趣的:(docker,java,oracle)