我整天都在努力地与一些docker组成基本配置-容器链接。不幸的是结果很ha。
我的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:
Dockerfile:
FROM openjdk:8
ADD target/hello-docker.war app.war
RUN bash -c 'touch /app.war'
ENTRYPOINT ["java", "-jar", "app.war"]
IndexController:
@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";
}
}
从浏览器访问localhost:8084时,出现连接拒绝错误。
Redis日志:
redis_1 | 1:C 2019年3月3日16:08:24.441#oO0OoO0OoO0Oo Redis是 开始oO0OoO0OoO0Oo
redis_1 | 1:C 2019年3月3日16:08:24.441# Redis版本= 5.0.3,位= 64,提交= 00000000,已修改= 0,pid = 1 已开始
redis_1 | 1:C 2019年3月3日16:08:24.441#警告:没有配置 指定的文件,使用默认配置。为了指定一个配置 文件使用redis-server /path/to/redis.conf
redis_1 | 1:M 2019年3月3日 16:08:24.442 *运行模式=独立,端口= 6379。
redis_1 | 1:M 03 Mar 2019 16:08:24.442#警告:TCP积压设置511无法 因为/ proc / sys / net / core / somaxconn设置为较低 值128。
redis_1 | 1:M 2019年3月3日16:08:24.442#服务器 已初始化
redis_1 | 1:M 2019年3月3日16:08:24.442#警告您 在内核中启用了透明大页面(THP)支持。这个 Redis会造成延迟和内存使用问题。要解决这个问题 发出命令'echo never> / sys / kernel / mm / transparent_hugepage / enabled'作为根用户,并将其添加到 您的/etc/rc.local,以便在重新启动后保留设置。 禁用THP后,必须重新启动Redis。
redis_1 | 1月3日:M 2019 16:08:24.442 *准备接受连接
应用日志(错误):
webapp_1 | 2019-03-03 16:08:37.340错误1 --- [nio-8080-exec-1] o.a.c.c.C。[。[。[/]。[dispatcherServlet]:的Servlet.service() 路径[]中的servlet [dispatcherServlet]抛出异常 [请求处理失败;嵌套异常为 redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException:连接被拒绝(连接被拒绝) 根本原因
webapp_1 | java.net.ConnectException:连接 拒绝(连接被拒绝)
请,有人知道我在做什么错。我确实浏览了许多与此主题相关的站点,但没有找到任何功能解决方案。我将不胜感激。
操作系统:Windows 10,64位
Docker v.18.09.2
Docker-compose v.1.23.2