Я использую базовый образ 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
Как правильно создать том для репозитория maven в Docker Compose? ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1733487455
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"]
Подробнее здесь: [url]https://stackoverflow.com/questions/79257958/how-to-properly-create-a-volume-for-maven-repository-in-docker-compose[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия