Как настроить существующий каталог данных для сервера aerospike внутри докера? - PullRequest
0 голосов
/ 10 декабря 2018

Мои данные по аэроспайкам находятся в каталоге / aerospike / data / на моей хост-машине.

Я установил и настроил сервер aerospike в Docker, перейдя по этой ссылке.

Ниже приведены мои файлы конфигурации для контейнера Docker Dockerfile , entrypoint.sh , aerospike.conf

Я могу подключиться к консоли запросов aerospike, используя команду ниже

docker exec -ti my_aerospike_container aql

Но выбор запроса ниже не являетсяпоказаны любые данные:

select * from test;

Я также пытался получить доступ к этим данным из веб-приложения, развернутого в другом контейнере в том же экземпляре докера.Но там тоже данные недоступны.

Может кто-нибудь помочь мне с этим?

Ответы [ 3 ]

0 голосов
/ 13 декабря 2018

Если вы хотите переместить данные из одного кластера в другой, используйте инструменты asbackup / asrestore, предоставляемые Aerospike.asbackup также позволяет вам взять процент от общих данных, скажем, 5% выборки, в качестве «производственной выборки» для целей разработки.Замена носителей данных не тривиальна и не всегда будет работать правильно, в зависимости от размеров исходного и конечного кластеров.

0 голосов
/ 14 декабря 2018

Инструкция VOLUME в Dockerfile не копирует содержимое хост-машины в контейнер.Это только создает точку монтирования.Точка монтирования может использоваться как каталогом внутри образа, так и хостом, на котором выполняется контейнер.Предполагая, что вы хотите, чтобы каталог данных вашего хост-компьютера использовался контейнером, вы должны указать это в вашей команде docker run, используя опцию -v.Это должно быть что-то вроде ниже

docker run -v "/path/to/local/data:/aerospike/data" myimage

Подробнее об инструкции VOLUME из ссылки на докер (особенно заметки) и это обсуждение переполнения стека .

0 голосов
/ 10 декабря 2018

Должно быть без точки с запятой.Вы пробовали это, или это опечатка здесь?

aql> select * from test
...