Я настроил приложение и базу данных mysql в файле docker-compose.yaml ниже.Пока обе службы запускаются, приложение не может открыть соединение с БД при отправке http-запроса.Когда приложение и база данных mysql определены в отдельных контейнерах, запрос выполняется успешно.Я уверен, что это что-то простое в конфигурации docker compose.
version: '3.7'
services:
database:
image: mysql:5.7
container_name: docker_test-device-telemetry-mysql
command: --explicit_defaults_for_timestamp
environment:
MYSQL_ROOT_PASSWORD: 12345
MYSQL_ALLOW_EMPTY_PASSWORD: "no"
volumes:
- ./initdb.d:/docker-entrypoint-initdb.d
ports:
- "6603:3306"
device-telemetry:
image: 224713337986.dkr.ecr.eu-west-1.amazonaws.com/device-telemetry:2.5.0
container_name: docker_test-device-telemetry-app
volumes:
- ./application.yaml:/application.yaml
- ./bootstrap.yaml:/bootstrap.yaml
ports:
- "7857:7847"
depends_on:
- database
"timestamp": "2018-10-18T20: 46: 17.654 + 0000", "status": 500, "error":«Внутренняя ошибка сервера», «исключение»: «org.springframework.transaction.CannotCreateTransactionException», «message»: « Не удалось открыть JDBC-соединение для транзакции; вложенное исключение - java.sql.SQLException: не удалось создать PoolableConnectionFactory (Ошибка канала связи \ n \ nПоследний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил пакетов от сервера.) ",}