无法使用我的java spring引导docker映像访问oracle db,因为出现以下错误:oracle.net.ns.netexception:指定了未知主机

s4n0splo  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(157)

我无法在docker映像中连接oracle db,但我可以通过intellij连接到它。该项目是一个SpringBootMaven项目。以下是关于my application.yml文件的一部分:

datasource:
      url: jdbc:oracle:thin:@host_name:port/service_name
      username: username
      password: password
      driver-class-name: oracle.jdbc.driver.OracleDriver

  jpa:
    hibernate:
      ddl-auto: update
      show-sql: true
      format_sql: true
      dialect: org.hibernate.dialect.Oracle10gDialect

通过这种配置,我可以使用ojdbc6.jar连接到oracle。但是,当我尝试使用docker compose以相同的配置运行project时,我无法连接到db。它给出oracle.net.ns.netexception:未知主机指定错误。这是我的docker compose:

database:
    container_name: db
    image: db
    build: ./
    ports:
      - "8091:8091"
    environment:
      - SPRING_DATASOURCE_URL=jdbc:oracle:thin:@host_name:port/service_name
      - SPRING_DATASOURCE_USERNAME=username
      - SPRING_DATASOURCE_PASSWORD=password
      - SPRING_DATASOURCE_DRIVER_CLASS_NAME=oracle.jdbc.driver.OracleDriver
      - SPRING_JPA_HIBERNATE_DDL_AUTO=update
      - SPRING_JPA_HIBERNATE_DIALECT=org.hibernate.dialect.Oracle10gDialect
    networks:
      - my_network1

我使用主机名而不是ip是否相关?我不知道数据库服务器的ip地址。如果这是一个问题,我会很高兴,如果你告诉我任何方法,以获得ip从主机名,如果可能的话。
为什么docker compose无法连接oracle数据库?我是docker的新手。我有什么遗漏吗?谢谢你的帮助。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题