MariaDB создана, но пуста Docker - PullRequest
0 голосов
/ 21 июня 2020

Я работаю с Spring Boot, MariaDB, H2 и Docker. Моя конфигурация работала на Docker до того, как у меня была база данных h2 для моих локальных тестов.

Я пытаюсь запустить Mariadb на docker и H2 на локальном компьютере. Для этого у меня есть эта настройка в моей папке ресурсов:

  • Одно application.properties, используемое для docker
  • Одно application-h2.properties, используемое для моих локальных тестов
  • Одни данные. sql для каждой БД
  • Одна схема. sql для каждой БД

введите здесь описание изображения

Я запускаю простой CREATE TABLE в моем schema-xx. sql и несколько INSERT INTO в моем data-xx. sql. На моем локальном компьютере мои тесты работают нормально, H2 создан и заполнен данными.

На docker моя таблица создана, но пуста.

Вот мой файл Docker:

#### Stage 1: Build the application
FROM openjdk:8-jdk-alpine as build

# Set the current working directory inside the image
WORKDIR /app

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

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

# Build all the dependencies in preparation to go offline. 
# This is a separate step so the dependencies will be cached unless 
# the pom.xml file has changed.
RUN ./mvnw dependency:go-offline -B

# Copy the project source
COPY src src

# Package the application
RUN ./mvnw package -DskipTests
RUN mkdir -p target/dependency && (cd target/dependency; jar -xf ../*.jar)

#### Stage 2: A minimal docker image with command to run the app 
FROM openjdk:8-jre-alpine

ARG DEPENDENCY=/app/target/dependency

# Copy project dependencies from the build stage
COPY --from=build ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY --from=build ${DEPENDENCY}/META-INF /app/META-INF
COPY --from=build ${DEPENDENCY}/BOOT-INF/classes /app

ENTRYPOINT ["java","-cp","app:app/lib/*","com.example.website.WebsiteApplication"]

А вот мой docker -compose.yml:

version: '3'
services:
  mariadb:
    container_name: mariadb
    image: mariadb
    environment:
      MYSQL_DATABASE: website
      MYSQL_USER: test
      MYSQL_PASSWORD: root
      MYSQL_ROOT_PASSWORD: root
      MYSQL_ROOT_HOST: '%'
    ports:
      - "3306:3306"
    restart: always
  workaround:
    container_name: website-spring-back
    image: website-spring-container
    depends_on: 
      - mariadb
    restart: on-failure
    # will build ./docker/workaround/Dockerfile
    build: 
      context: .
      dockerfile: Dockerfile
    ports:
      - "8081:8080"  
    command: "mvn clean spring-boot:run"

Есть идеи, почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...