Рубрики
Без рубрики

Spring Boot CRUD – MongoDB + Docker

Операции CRUD с использованием Spring Boot и базы данных MongoDB с использованием docker-compose. Требуется докер… С тегом docker, java, программирование, новички.

Операции CRUD с использованием Spring Boot и базы данных MongoDB с использованием docker-compose.

Для установки на компьютере требуется Docker. Установите Docker из здесь

Установка

1) Клонируйте репозиторий отсюда Нажмите здесь и выполните следующие команды.

docker-compose up

Выход

получить http://localhost:8080/products Получить все продукты
получить http://localhost:8080/products /{идентификатор} Поиск товара по идентификатору
{ “идентификатор”: “1”, “имя”: “Мобильный”, “Описание”: “Мобильный телефон Samsung”. } пост http://localhost:8080/products Чтобы добавить продукт в базу данных
{ “идентификатор”:”1″, “имя”: “Apple Iphone”, “Описание”:”Apple” } класть http://localhost:8080/products Чтобы обновить существующую запись.
удалить http://localhost:8080/products /{идентификатор} Удалить запись, подлежащую идентификации

Использование

ProductRepository.java

@Repository
public interface ProductRepository extends MongoRepository {

}

Конфигурация

применение.свойства

spring.data.mongodb.host=mongo_db
spring.data.mongodb.port=27017
spring.data.mongodb.database=mydb

docker-compose.yml

version: '3.3'

services:
    #service 1: definition of mongo database
    mongo_db:
      image: mongo
      container_name: mongoDB  
      restart: always
      ports:
        - 27017:27017


    #service 2: definition of your spring-boot app 
    productservice:                        #it is just a name, which will be used only in this file.
      image: product-service               #name of the image after dockerfile executes
      container_name: product-service-app  #name of the container created from docker image
      build:
        context: .                          #docker file path (. means root directory)
        dockerfile: Dockerfile              #docker file name
      ports:
        - "8080:8080"                       #docker containter port with your os port
      restart: always  
      depends_on:                           #define dependencies of this app
        - mongo_db                                #dependency name (which is defined with this name 'db' in this file earlier)

Файл Dockerfile

FROM openjdk:11 as mysqldoc
EXPOSE 8084
WORKDIR /app

# Copy maven executable to the image
COPY mvnw .
COPY .mvn .mvn

# Copy the pom.xml file
COPY pom.xml .

# Copy the project source
COPY ./src ./src
COPY ./pom.xml ./pom.xml

RUN chmod 755 /app/mvnw

RUN ./mvnw dependency:go-offline -B

RUN ./mvnw package -DskipTests
RUN ls -al
ENTRYPOINT ["java","-jar","target/springboot-demo-mysql-0.0.1-SNAPSHOT.jar"]

Оригинал: “https://dev.to/atharvasiddhabhatti/spring-boot-crud-mongo-db-docker-jop”