Предположим, у нас есть простое Dockerfile
, где my_sb_app.jar
— приложение SpringBoot:
FROM bellsoft/liberica-openjdk-alpine:11.0.9-12
WORKDIR /app
COPY target/my_sb_app.jar /app
EXPOSE 8080
ENTRYPOINT java -jar my_sb_app.jar
Я хотел бы передавать кастомные app.properties
при каждом прогоне
docker run my_image_name /somewhere/on/my/host/app.properties
поэтому ожидаемая окончательная команда (внутри контейнера) может быть идентична следующей
java -jar my_sb_app.jar --spring.config.location=%%file_with_contents_of_app.properties%%
Каков стандартный способ передачи файла в контейнер Docker?
Как изменить образ Docker?
Стандартный способ передачи файлов с хоста в контейнер — с помощью томов:
https://docs.docker.com/storage/bind-mounts/
https://docs.docker.com/storage/volumes/
В вашем примере:
docker run -v /somewhere/on/my/host/app.properties:/opt/app.properties my_image_name
java -jar my_sb_app.jar --spring.config.location=/opt/app.properties