Как правильно создать том для репозитория maven в Docker Compose?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как правильно создать том для репозитория maven в Docker Compose?

Сообщение Anonymous »

Я использую базовый образ maven:3.8.3-openjdk-17 для издателя контейнеров Docker и потребителя. В docker-compose.yaml я создал том m2_volume:/root/.m2 для повторного использования зависимостей maven после каждой сборки.
docker-compose.yaml
services:
publisher:
build: ./publisher/
networks:
- messaging
depends_on:
rabbitmq:
condition: service_healthy
volumes:
- m2_volume:/root/.m2
consumer:
build: ./consumer/
networks:
- messaging
depends_on:
rabbitmq:
condition: service_healthy
volumes:
- m2_volume:/root/.m2
rabbitmq:
image: rabbitmq:4.0.4-management-alpine
networks:
- messaging
ports:
- 5672:5672
- 5671:5671
- 15672:15672
- 4369:4369
- 25672:25672
healthcheck:
test: ["CMD", "rabbitmq-diagnostics", "check_running"]
interval: 10s
timeout: 10s
start_period: 30s
retries: 3
networks:
messaging:
name: messaging
driver: bridge
volumes:
m2_volume:

Когда вы запускаете файл Compose, зависимости Maven начинают загружаться и приложения запускаются. Но если запустить файл компоновки во второй раз, зависимости maven начнут загружаться снова вместо повторного использования артефактов из m2_volume:/root/.m2. Я создаю файл компоновки с помощью docker compose build --no-cache.
В моих Dockerfiles я использую пакет mvn clean для создавать приложения.
FROM maven:3.8.3-openjdk-17

WORKDIR /app

COPY . .

RUN mvn clean package

ENTRYPOINT ["java", "-jar", "target/app.jar"]


Подробнее здесь: https://stackoverflow.com/questions/792 ... er-compose
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»