Dockerized Neo4J поддерживая громкость через перезапуски как-то? - PullRequest
0 голосов
/ 24 августа 2018

Я использую Docker Compose и использую стандартный образ Neo4j.Я не указываю никаких томов, которые нужно смонтировать, но когда я отключаю докер и возвращаю его обратно, он все еще содержит старые данные.Я не могу найти где / как это хранит.

Я бы хотел переопределить его, чтобы у каждого нового Docker была свежая база данных.Есть идеи?

docker-compose.yml:

neo4j:
  image: neo4j:3.0
  ports:
   - "7474:7474"
   - "7687:7687"
  environment:
   - NEO4J_AUTH=neo4j/password
  volumes: []

Попытка переопределить любые тома с помощью volumes: [], но это не работает

Ответы [ 3 ]

0 голосов
/ 24 августа 2018

Это ожидаемое поведение при запуске и остановке контейнера. Файловая система сохраняется.

Если вы хотите очистить ваши данные, начните новый контейнер с

docker run

С compose вы можете использовать

 --force-recreate    

флаг.

0 голосов
/ 25 августа 2018

Вы можете легко удалить все данные, снимая развертывание docker-compose, добавив флаг -v в конце команды, например: docker-compose down -v

Это остановит развертывание, удалите связанныеконтейнеры и удалите связанные тома.

EDIT

Как сказал Фриги в комментариях, вы можете воссоздать анонимные тома при запуске нового развертывания с флагом -V(заглавная буква), поэтому: docker-compose up -V

Воссоздает анонимные тома вместо извлечения данных из предыдущих контейнеров.

0 голосов
/ 24 августа 2018

После того, как вы выполните команду docker-compose down, она должна удалить все контейнеры. Убедитесь, что они удалены.

docker ps -a 

Вы можете удалить любые неприкрепленные тома с помощью:

docker volume prune

Еще одна вещь, с которой я столкнулся, это то, что я установил настольный компьютер Neo4j, и, хотя я предполагал, что использую экземпляр докера, я действительно использовал локальную базу данных. Я, наконец, понял это, когда закрыл свой докер-контейнер, но все еще смог поразить базу данных.

...