当前位置: 首页 > 面试题库 >

Docker撰写Spring Boot Redis连接问题

农星华
2023-03-14
问题内容

我正在运行一个简单的rest应用程序,redis并在docker容器/ docker-compose中运行。我相信,redis必须使用Spring
Boot才能访问http://redis:6379。但是,它会引发错误:

018-07-22 21:53:33.972 ERROR 1 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool] with root cause

java.net.ConnectException: Connection refused (Connection refused)

我的代码在这里。


问题答案:

由于在链接中使用别名,因此必须使用与别名相同的主机名来访问容器。因此,您可以执行以下一项操作,

在您的Spring Boot应用程序中使用http://
localhost:6379
而不是http://
redis:6379

要么,

更改

links:
 - "redis:localhost"

links:
 - "redis"


 类似资料:
  • 我有几个应用程序容器,我想连接到 mongodb 容器。我尝试了external_links但我无法连接到mongodb。 我得到 MongoError:第一次连接时无法连接到服务器[mongodb:27017] 我必须将容器添加到同一个网络中才能让external_links工作吗? MongoDB: 应用程序: 网络:

  • 我在IBM云中创建了一个compose for RabbitMq实例,并通过配置服务器应用程序上的服务绑定使用它。这是我的<code>应用程序。yaml定义了以下属性以连接到compose for rabbitmq服务器: 此外,通过服务绑定,环境变量用RabbitMQ的VCAP凭证进行了更新。 Maven依赖关系: 问题是在启动时,我得到RabbitMq服务的连接异常: o.s.amqp.rab

  • 问题内容: 使用以下文件: 上面文件中的服务启动了卷容器,该卷容器在Docker主机的文件夹中创建了匿名卷,并在卷容器()中创建了挂载点。 服务中的指令是否在容器中创建安装点?这点挂载点的容器? 问题答案: 从 文档: 从另一个服务或容器挂载所有卷… 所以简短的答案 是 : 在服务内部 装入由服务定义的卷。 长答案: 要回答您的问题,让我们运行该服务: 在回答您的问题之前,让我们确保描述清楚: 上

  • 我想把9093暴露在码头集装箱外面。当我如下设置暴露于9093的kafka-0端口和KAFKA_ADVERTISED_LISTENERS时,我无法连接到localhost:9093,如以下docker-compose文件所示。 但是,当我换成 和 我可以连接到Kafka经纪人localhost:9092。 如何将外部端口更改为9093以使应用程序连接?我想设置多个经纪商。

  • 我想在Azure Web app for Containers上使用Docker Compose部署一个基于角度的应用程序。 我已经在我们的私有存储库中创建了应用程序的自定义映像,下面是Docker Compose文件的改进版本 后端应用程序必须对internet开放,或者至少是防火墙。无论如何,Angular从浏览器调用后端,因此前端应用程序(提供Angular静态资源)和后端应用程序都必须可以

  • 我有一个nginx的dockerfile。 我有一个docker-compose.yml文件。 运行后 docker合成 它从名为“web”的dockerfile创建图像,并下载redis图像。它还创建了名为“web\u web1”的图像和当我检查 docker ps nginx和redis服务都在运行。我的问题是,如果我将新创建的映像提交到另一个映像并导出容器并导入到另一个环境,在执行docke