Hej.
W application.properties mam taką linię
spring.data.mongodb.uri=${MONGO_URL:mongodb://localhost:27017/dev}
Następnie zbudowałem obraz aplikacji za pomocą Dockerfile
FROM adoptopenjdk/openjdk11:jdk-11.0.2.9-slim
WORKDIR /opt
ENV PORT 8080
EXPOSE 8080
COPY target/*.jar /opt/app.jar
ENTRYPOINT exec java $JAVA_OPTS -jar app.jar
Chciałbym się dowiedzieć jak działa dokładnie ta linia
spring.data.mongodb.uri=${MONGO_URL:mongodb://localhost:27017/dev}
Przy wywołaniu komendy
docker run \
--name=knote-java \
--rm \
--network=knote \
-p 8080:8080 \
-e MONGO_URL=mongodb://mongo:27017/dev \
knote-java
Czy wtedy zamienia się ona w
spring.data.mongodb.uri=mongodb://mongo:27017/dev
?
Chodzi mi o to, że za pomocą -e w komendzie docker run można tam wrzucać dynamicznie swoje zmienne, a w przypadku braku -e zostaje domyślna wartość
spring.data.mongodb.uri=mongodb://localhost:27017/dev
a
${MONGO_URL:
jest pomijane.