Проблема с сохранением данных в базе данных h2 для wso2am между перезапусками контейнера

#wso2 #dockerfile #wso2-am

# #wso2 #dockerfile #wso2-api-manager

Вопрос:

Ребята, я запустил ws02am версии v2.0.0 с помощью docker и h2 db в одном контейнере, используя следующее руководство github: Dockerfile для WS02 API Manager Я также подключил хост-том, но я не верю, что база данных h2 сохраняет данные между перезапусками контейнера.

Вот мой запуск cmd: ./run.sh -v 2.0.0 -m /var/local

Я подтвердил вход в Carbon API Manager, и API не отображаются после перезапуска.

Чего мне не хватает? Как мне настроить так, чтобы файлы базы данных h2 хранились в томе на моем хосте и использовались совместно с несколькими контейнерами wso2am?

Спасибо за вашу помощь.

Ответ №1:

На данный момент функция монтирования тома работает не так. Это просто копирование файлов из папки ‘/ var / local’ в путь контейнера ‘/ mnt / wso2 /’.

Для сохранения API-интерфейсов вам необходимо использовать внешнюю базу данных, запущенную на вашем хост-компьютере, и настроить wso2am так, чтобы он указывал на внешнюю базу данных. Также содержимое

‘< wso2am>/репозиторий / развертывание / сервер /’

путь должен быть смонтирован на отдельный том. (Эти функции не поддерживаются сценариями, и вам нужно сделать это вручную).

Если вы используете метод подготовки puppet, вы можете воспользоваться этим руководством. В противном случае вам придется настраивать вручную datasources.xml файл, указывающий на внешнюю базу данных.

Здесь вы можете найти различные шаблоны развертывания на основе docker для api-manager.

Комментарии:

1. Я хочу запустить эту настройку в docker. Вы хотите сказать, что мне нужно иметь отдельный контейнер с базой данных и указать этот контейнер на контейнер с базой данных? Кроме того, мне нужно было бы смонтировать том, чтобы контейнер базы данных мог сохранять данные.

2. ДА. Вам также необходимо смонтировать содержимое каталога ‘<wso2am> /repository/ deployment/ server/’ для сохранения API.

3. Ануруддха, у меня есть дополнительные вопросы, основанные на новой ссылке, которой вы поделились с различными шаблонами развертывания.

4. Не могли бы вы указать мне, какой шаблон я должен использовать: github.com/wso2/docker-apim/tree/master/docker-compose Также запрашивается имя пользователя / pwd / email, когда я набираю следующую команду: docker login docker.wso2.com Я не знаю, как зарегистрироваться на него, не могли бы вы, пожалуйста, указать мне на руководство, пожалуйста?

5. Вам необходимо зарегистрироваться на wso2.com/user/register и используйте эти учетные данные в docker login. Шаблон зависит от вашего сценария.