Внутренний контейнер Spring Boot не может подключиться к контейнеру Redis внутри Docker ComposeJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Внутренний контейнер Spring Boot не может подключиться к контейнеру Redis внутри Docker Compose

Сообщение Anonymous »

Я уверен, что все контейнеры находятся в одной сети.
Я могу подключиться к redisContainer с помощью redis-cli
Если я запущу приложение Spring Boot из ide (не в докер-контейнере), все в порядке.
Я получаю только это сообщение об ошибке ниже, без каких-либо конкретных объяснений.
Я уверен, что приложение Spring Boot получает правильные данные. переменные env из файла создания
Я пытался удалить «hosts:» из контейнера Redis, я попытался установить REDIS_HOST на localhost во внутреннем контейнере

Код: Выделить всё

version: '3.8'
services:

db:
image: postgres:latest
container_name: postgresql_container
environment:
POSTGRES_DB: insight
POSTGRES_USER: admin
POSTGRES_PASSWORD: admin
ports:
- "15432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
restart: always

redis:
image: redis:latest
container_name: redisContainer
ports:
- "6379:6379"

backend:
build: .
container_name: backendContainer
ports:
- "8081:8082"
environment:
REDIS_PORT: 6379
REDIS_HOST: redis

SPRING_DATASOURCE_URL: jdbc:postgresql://db:5432/insight
SPRING_DATASOURCE_USERNAME: admin
SPRING_DATASOURCE_PASSWORD: admin

depends_on:
- db
restart: always

volumes:
postgres_data:

application.yaml

Код: Выделить всё

spring:
datasource:
driver-class-name: org.postgresql.Driver
url: ${SPRING_DATASOURCE_URL}
username: ${SPRING_DATASOURCE_USERNAME}
password: ${SPRING_DATASOURCE_PASSWORD}
jpa:
show-sql: true
hibernate:
ddl-auto: update
database-platform: org.hibernate.dialect.PostgreSQLDialect
redis:
host: ${REDIS_HOST}
port: ${REDIS_PORT}
server:
port: 8082

logging:
level:
org.springframework.data.redis: DEBUG
Сообщение об ошибке:

Код: Выделить всё

2024-12-23 18:36:48 2024-12-23T15:36:48.226Z ERROR 1 --- [nio-8082-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet
[dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.data.redis.RedisConnectionFailureException:
Unable to connect to Redis] with root cause
2024-12-23 18:36:48
2024-12-23 18:36:48 java.net.ConnectException: Connection refused
2024-12-23 18:36:48     at java.base/sun.nio.ch.Net.pollConnect(Native Method) ~[na:na]
2024-12-23 18:36:48     at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[na:na]
2024-12-23 18:36:48     at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946) ~[na:na]
2024-12-23 18:36:48     at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:336) ~[netty-transport-4.1.114.Final.jar!/:4.1.114.Final]
2024-12-23 18:36:48     at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:339) ~[netty-transport-4.1.114.Final.jar!/:4.1.114.Final]
2024-12-23 18:36:48     at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) ~[netty-transport-4.1.114.Final.jar!/:4.1.114.Final]
2024-12-23 18:36:48     at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[netty-transport-4.1.114.Final.jar!/:4.1.114.Final]
2024-12-23 18:36:48     at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[netty-transport-4.1.114.Final.jar!/:4.1.114.Final]
2024-12-23 18:36:48     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[netty-transport-4.1.114.Final.jar!/:4.1.114.Final]
2024-12-23 18:36:48     at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.114.Final.jar!/:4.1.114.Final]
2024-12-23 18:36:48     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.114.Final.jar!/:4.1.114.Final]
2024-12-23 18:36:48     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.114.Final.jar!/:4.1.114.Final]
2024-12-23 18:36:48     at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
2024-12-23 18:36:48
У меня есть две зависимости от Redis

Код: Выделить всё


org.springframework.boot
spring-boot-starter-data-redis


org.springframework.boot
spring-boot-starter-cache

у меня нет конфигов Redis, приложение отлично работает с Redis, если оно запускается не из контейнера

Подробнее здесь: https://stackoverflow.com/questions/793 ... ally-in-do
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»