докер-compose.yml:
services:
server:
image: server:latest
environment:
- SPRING_PROFILES_ACTIVE=dev
ports:
- 8080:8080
- 18080:18080
Dockerfile:
FROM openjdk:8-jre-alpine
ENV SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \
SLEEP=0 \
JAVA_OPTS="" \
RUN adduser -D -s /bin/sh server
WORKDIR /home/server
ADD entrypoint.sh entrypoint.sh
RUN chmod 755 entrypoint.sh && chown server:server entrypoint.sh
USER server
ENTRYPOINT ["./entrypoint.sh"]
# expose server ports
EXPOSE 8080 18080
ADD *.jar server.jar
entrypoint.sh:
#!/bin/sh
echo "The application will start in ${SLEEP}s..." && sleep ${SLEEP}
exec java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar "${HOME}/server.jar" "$@"
У меня есть 3 application.yml: application.yml
, application-dev.yml
и application-prod.yml
, которые отличаются от адреса базы данных.
Но когда я запускаю docker-compose up
, сервер всегда использует настройку по умолчанию, даже я упомянул, как в docker-compose.yml , что активный профиль - dev.
Я хотел бы знать, как включить другой профиль в файле docker-compose.
Спасибо.
редактирование:
файл server.jar создается с использованием assemble
gradle.