我一整天都在和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