enter code here
У меня есть веб-приложение и h2database в качестве Docker-контейнеров.У меня есть докер составить файл YML все готово.Теперь мне нужно инициализировать эту базу данных (h2database).Но я не могу этого сделать.Когда я захожу в докерский контейнер h2database, я вижу docker-entrypoint-initdb.d / initdb.sh внутри этого initdb.sh, я добавляю свой скрипт
#!/bin/bash
java -cp h2-1.4.190.jar org.h2.tools.RunScript \
-script /App1/BasePl/sql-scripts/h2/common-scripts/BasePl-schema-h2.sql \ -url "jdbc:h2:http://localhost/code1/Demo2./BasePl"
, но когда я пытаюсь выполнить этот initdb.shиспользование команды bash выдает ошибку: не удалось найти или загрузить основной класс org.h2.tools.RunScript
Я перепробовал все возможные комбинации путей к классам, а также загрузил различные zip-папки jarfiles h2, а также проверил наличие файла RunScript.под h2 \ src \ main \ org \ h2 \ tools и его там.Поэтому я не понимаю, в чем здесь проблема.
Error: Could not find or load main class org.h2.tools.RunScript
мой файл Docker-compose.yml:
version: '3'
services:
baseplapplication:
build:
context: .
dockerfile: Dockerfile
environment:
BASEPL_HOME: "/usr/local/BASEPL"
ports:
- "882:8080"
volumes:
- basepl_data:/var/bio
depends_on:
- db
links:
- db
db:
image: "buildo/h2database"
volumes:
- ./dumps/init.sh:/docker-entrypoint-initdb.d/initdb.sh
- h2data:/var/lib/h2database
ports:
- "8082:8082"
volumes:
basepl_data:
h2data:
теперь initdb будет создан при запуске команды docker-compose и, следовательно, мне нужно зайти в базу данных (db) контейнер в папку initdb.sh и затем поместите мой скрипт #! / bin / bash java -cp h2-1.4.190.jar org.h2.tools.RunScript \ -script / App1 / BasePl / sql-scripts / h2/common-scripts/BasePl-schema-h2.sql \ -url "jdbc: h2: http://localhost/code1/Demo2./BasePl". Как я могу поместить файл h2-1.4.190.jar, который находится на моем рабочем столе, в это местовнутри контейнера базы данных (БД). Все, что я хочу, это заполнить (инициализировать) базу данных докера, запустив скрипт против нее во время компоновки докера. Пожалуйста, я новичок в докере, поэтому помогите мне