如何将我的 Spring Boot 应用程序连接到 Docker 上的 Redis 容器?
Posted
技术标签:
【中文标题】如何将我的 Spring Boot 应用程序连接到 Docker 上的 Redis 容器?【英文标题】:How to connect my spring boot app to redis container on docker? 【发布时间】: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 代码的位置访问 Redis 实例。示例 - ***.com/questions/9866541/… 【参考方案1】:来自码头工人撰写documentation
默认情况下,Compose 会为您的应用设置一个网络。服务的每个容器都加入默认网络,并且该网络上的其他容器都可以访问,并且它们可以通过与容器名称相同的主机名发现
如果您想通过容器名称(本例中为“redis”)访问 redis,Spring boot 应用程序也已部署为 docker compose 服务,但它不会出现在您的 docker-compose 文件中已经在问题中提供了,所以请添加它。
或者,如果您尝试在主机上运行 spring boot 应用程序,请使用“localhost”而不是“redis”来访问 redis 容器。
【讨论】:
以上是关于如何将我的 Spring Boot 应用程序连接到 Docker 上的 Redis 容器?的主要内容,如果未能解决你的问题,请参考以下文章