Я пытаюсь запустить приложение весенней загрузки в docker, но когда я пытаюсь проанализировать переменные окружения в точке входа dockerfile, я получаю следующую ошибку:
Невозможно открыть JDB C Соединение для выполнения DDL
Мой dockerfile выглядит следующим образом
FROM maven:3.6-jdk-8
COPY . /usr/src/api
WORKDIR /usr/src/api
ENV SPRING_URL ${SPRING_DATASOURCE_URL}
ENV SPRING_USERNAME ${SPRING_DATASOURCE_USERNAME}
ENV SPRING_PASSWORD ${SPRING_DATASOURCE_PASSWORD}
RUN mvn install:install-file \
-Dfile=.mvn/wrapper/maven-wrapper.jar \
-Dversion=1.0 \
-Dpackaging=jar \
-DgeneratePom=true \
-DSPRING_DATASOURCE_URL=SPRING_URL \
-DSPRING_DATASOURCE_USERNAME=SPRING_USERNAME \
-DSPRING_DATASOURCE_PASSWORD=SPRING_PASSWORD
ENTRYPOINT mvn -DSPRING_DATASOURCE_URL=SPRING_URL -DSPRING_DATASOURCE_USERNAME=SPRING_USERNAME -DSPRING_DATASOURCE_PASSWORD=SPRING_PASSWORD spring-boot:run
Переменные env поступают из файла doker-compose. Я использую docker-compose build
, который успешно компилируется (включая проходящие тесты) и docker-compose -p 0.0.0.0:8080:8080 run api
, который завершается с ошибкой, указанной выше.
My docker -compose.yml выглядит следующим образом:
version: '3'
services:
api:
image: test/api:1.0
build:
context: .
dockerfile: Dockerfile
environment:
- SPRING_DATASOURCE_URL=${SPRING_DATASOURCE_URL}
- SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME}
- SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD}
Проблема в том, как я анализирую переменные env до точки входа. При установке mvn, кажется, работает нормально, но не при весенней загрузке: запустить. Является ли форма оболочки точки входа правильной командой и как я должен анализировать переменные?