Я бьюсь целый день с каким-то докером, создающим базовый конфиг - связывание контейнеров.К сожалению, результаты неутешительны.
Мой 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 03 марта 2019 г. 16: 08: 24.441 # oO0OoO0OoO0Oo Redis запускается oO0OoO0OoO0Oo
redis_1 |1: C 03 марта 2019 г. 16: 08: 24.441 # Версия Redis = 5.0.3, биты = 64, коммит = 00000000, изменен = 0, pid = 1, только начался
redis_1 |1: C 03 марта 2019 г. 16: 08: 24.441 # Предупреждение: файл конфигурации не указан, используется конфигурация по умолчанию.Чтобы указать файл конфигурации, используйте redis-сервер /path/to/redis.conf
redis_1 |1: M 03 марта 2019 г. 16: 08: 24.442 * Режим работы = автономный, порт = 6379.
redis_1 |1: M 03 марта 2019 г. 16: 08: 24.442 # ПРЕДУПРЕЖДЕНИЕ. Настройка невыполненного TCP-протокола 511 не может быть применена, поскольку для / proc / sys / net / core / somaxconn установлено меньшее значение 128.
redis_1 |1: M 03 марта 2019 г. 16: 08: 24.442 # Сервер инициализирован
redis_1 |1: M 03 марта 2019 г. 16: 08: 24.442 # ПРЕДУПРЕЖДЕНИЕ: в вашем ядре включена поддержка прозрачных огромных страниц (THP).Это создаст проблемы с задержкой и использованием памяти в Redis.Чтобы устранить эту проблему, выполните команду 'echo never> / sys / kernel / mm / transparent_hugepage / enabled' от имени пользователя root и добавьте ее в свой файл /etc/rc.local, чтобы сохранить настройку после перезагрузки.Redis должен быть перезапущен после отключения THP.
redis_1 |1: M 03 марта 2019 г. 16: 08: 24.442 * Готов принимать соединения
Журнал приложения (ошибка):
webapp_1 |2019-03-03 16: 08: 37.340 ОШИБКА 1 --- [nio-8080-exec-1] oaccC [. [. [/]. [DispatcherServlet]: Servlet.service () для сервлета [dispatcherServlet] в контексте сpath [] сгенерировал исключение [Ошибка обработки запроса;вложенное исключение - 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