Py学习  »  Redis

Docker compose,Java和Redis-连接拒绝问题

zach • 4 年前 • 648 次点击  

我一整天都在和docker编写基本的配置容器链接。不幸的是,结果令人憔悴。

我的docker-compose.yml:

version: "3.7"
services:

  webapp:
    build: .
    ports:
      - "8084:8080"
    networks:
      - net
    depends_on:
      - redis

  redis:
    image: redis:alpine
    ports:
      - "6379:6379"
    networks:
      - net

networks:
  net:

FROM openjdk:8
ADD target/hello-docker.war app.war
RUN bash -c 'touch /app.war'
ENTRYPOINT ["java", "-jar", "app.war"]

索引控制器:

@Controller
@RequestMapping("/")
public class IndexController {

    @RequestMapping
    public String index(Model model) {
        Jedis jedis = new Jedis("redis", 6379);

        jedis.set("key1", "some value");

        model.addAttribute("rValue", jedis.get("key1"));

        return "index";
    }
}

Redis日志:

开始
redis|u 1 | 1:C 2019年3月3日16:08:24.441# Redis version=5.0.3,bits=64,commit=00000000,modified=0,pid=1,刚刚 起动
redis|u 1 | 1:C 2019年3月3日16:08:24.441 |警告:无配置 使用默认配置指定的文件。为了指定配置
redis|u 1 | 1:M 2019年3月3日 16: 08:24.442*运行模式=独立,端口=6379。
2019年3月16:08:24.442#警告:TCP backlog设置511不能 因为/proc/sys/net/core/somaxconn设置为较低
redis|u 1 | 1:M 2019年3月3日16:08:24.442#服务器 已初始化
redis|u 1 | 1:M 2019年3月3日16:08:24.442#警告您 会造成Redis的延迟和内存使用问题。为了解决这个问题 /sys/kernel/mm/transparent_hugepage/enabled'作为根目录,并将其添加到 您的/etc/rc.local以便在重新启动后保留设置。 禁用THP后,必须重新启动Redis。
redis|u 1 | 3月3日下午1:00 2019 16:08:24.442*准备接受连接

应用程序日志(错误):

o、 a.c.c.c.[.[/].[dispatcherServlet]:的Servlet.service() 路径为[]的上下文中的servlet[dispatcherServlet]引发异常 redis.clients.jedis.exceptions.jedisconnection异常: java.net.ConnectException:连接被拒绝(连接被拒绝)] 有根本原因
webapp|1| java.net.ConnectException:连接 拒绝(连接被拒绝)

操作系统:Windows 10,64位
Docker v.18.09.2版
Docker撰写v.1.23.2

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53304
 
648 次点击