Spring 从web应用连接到Oracle DB docker容器
我在同一台主机上运行一个tomcat容器,我在其中部署了一个web应用程序和一个oracle DB容器。我正在使用以下设置从web应用程序连接到oracle DB容器:Spring 从web应用连接到Oracle DB docker容器,spring,docker,Spring,Docker,我在同一台主机上运行一个tomcat容器,我在其中部署了一个web应用程序和一个oracle DB容器。我正在使用以下设置从web应用程序连接到oracle DB容器: spring.datasource.url: jdbc:oracle:thin:@<IP of the host>:1521:xe spring.datasource.username=sa spring.datasource.password= spring.datasource.driverClassName=
spring.datasource.url: jdbc:oracle:thin:@<IP of the host>:1521:xe
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url:jdbc:oracle:thin:@:1521:xe
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.drivercassname=com.mysql.jdbc.Driver
当我向主机公开端口1521时,我希望能够连接到Oracle DB而不会出现任何问题,此外,我可以使用上述设置,使用DbVisualizer从笔记本电脑连接到Oracle DB。我还进入了tomcat容器并成功地ping了主机
我知道在运行“docker run”命令时可以链接两个容器,但我想知道它是否也可以这样工作
有什么想法吗?谢谢 一种简单的方法是使用docker compose: docker-compose.yml
version:'3'
services:
app:
// if you got a custom dockerfile
build: .
links:
- db
db:
image: oracledb
应用程序中的db主机将为“db”:
spring.datasource.url:jdbc:oracle:thin:db:1521:xe
同时运行Bunded contanier是:docker compose up--build
我希望你觉得它有用。谢谢,德文,我知道docker compose,但我认为我的设置也应该可以。顺便说一下,这并不是docker compose的具体内容。默认情况下,连接到同一
docker network create
网络的所有容器都可以通过要连接到的容器的--name
解析其ip地址。还有一种方法可以使用--net alias
添加别名。在后台,docker compose使用网络别名功能设置与docker compose文件中的服务名称匹配的别名。