【问题标题】:How to get docker oracle container ip into the java application using docker-compose?如何使用 docker-compose 将 docker oracle 容器 ip 放入 java 应用程序?
【发布时间】:2017-09-07 14:35:36
【问题描述】:

以下代码在 docker-compose 中使用:

integration_test:

  image: service:1.0.0

  volumes:
    - .:/service

  links:
   - oracle_container
  # used volumes_from as workaround to wait until the following containers to start

  volumes_from:
   - oracle_container

  container_name: integration_test

  tty: true

  environment:
    USER: go

  command: ["mvn clean install -DskipTests"]

oracle_container:

  image: inmage_name:1.0.0

  container_name: oracle_container

  ports:
    - "49161:1521"

我想让这两个容器都说应用程序-->oracle

两个容器都在同一台机器上运行,我使用下面的 jdbc 字符串通过应用程序连接 oracle,

jdbc:oracle:thin:@localhost:49161/xe

但我无法连接 oracle 及其引发的 SQLRecoverable Exception。

据我了解,这属于 Docker 网络,我使用链接来连接两个容器。但这个问题与连接字符串有关,更具体地说是 oracle 容器的 ip。

有人可以帮忙解决这个问题吗?

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    你需要使用

    jdbc:oracle:thin:@oracle_container:1521/xe
    

    在 docker-compose 中,每个容器都可以通过它们的服务名称访问其他容器名称。你不应该只使用主机端口而不是容器端口

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-13
      • 1970-01-01
      • 2022-11-05
      • 1970-01-01
      • 2015-08-17
      • 2020-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多