【问题标题】:How to connect my spring boot app to redis container on docker?如何将我的 Spring Boot 应用程序连接到 Docker 上的 Redis 容器?
【发布时间】:2020-05-29 16:27:34
【问题描述】:

我创建了一个 spring 应用程序,我想将它连接到部署在 docker-compose 上的 redis 服务器,我将所需的属性设置如下: spring.redis.host=redis spring.redis.port=6379

但我不断收到 ConnexionException,所以我怎么知道 redis 在哪个主机上运行以及如何连接到它。

这是我的 docker-compose 文件:

version: '2'
services:

redis:
   image: 'bitnami/redis:5.0'
   environment:
    # ALLOW_EMPTY_PASSWORD is recommended only for development.
    - ALLOW_EMPTY_PASSWORD=yes
    - REDIS_DISABLE_COMMANDS=FLUSHDB,FLUSHALL
   ports:
    - '6379:6379'
   volumes:
    - 'redis_data:/bitnami/redis/data'

卷: redis_data: 司机:本地

【问题讨论】:

标签: spring-boot docker redis docker-compose


【解决方案1】:

来自码头工人撰写documentation

默认情况下,Compose 会为您的应用设置一个网络。服务的每个容器都加入默认网络,并且该网络上的其他容器都可以访问,并且它们可以通过与容器名称相同的主机名发现

如果您想通过容器名称(本例中为“redis”)访问 redis,Spring boot 应用程序也已部署为 docker compose 服务,但它不会出现在您的 docker-compose 文件中已经在问题中提供了,所以请添加它。

或者,如果您尝试在主机上运行 spring boot 应用程序,请使用“localhost”而不是“redis”来访问 redis 容器。

【讨论】:

    猜你喜欢
    • 2020-12-23
    • 2022-11-05
    • 2021-12-23
    • 2017-11-10
    • 2022-11-01
    • 2021-10-23
    • 2019-07-19
    • 2020-07-25
    • 2020-04-04
    相关资源
    最近更新 更多