Принудительное создание bind mount в docker-compose - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь заставить контейнер neo4j использовать каталоги хост-системы для data и logs, используя docker-compose. Мой составной файл выглядит так

neo4j:
  image: neo4j:3.5.6
  ports:
    - "127.0.0.1:7474:7474"
    - "127.0.0.1:7473:7473"
    - "127.0.0.1:7687:7687"
  environment:
    NEO4J_AUTH: "none"
  volumes:
    - "~/neo4j/data:/data"
    - "~/neo4j/logs:/logs"

Однако он работает только для каталога logs, для каталога data контейнер сохраняет свой собственный том. Секция binds docker inspect выглядит следующим образом

"Binds": [
     "/home/rbusche/neo4j/logs:/logs:rw",
     "6f989b981c12a252776404343044b6678e0fac48f927e80964bcef409ab53eef:/data:rw"
],

Достаточно странно, что он работает, когда я использую docker run и указываю там громкость. neo4j Dockerfile объявляет data и logs как тома контейнера. Это есть какой-нибудь способ заставить docker-compose переопределить те?

1 Ответ

0 голосов
/ 20 июня 2019

После удаления тома 6f989b981c12a252776404343044b6678e0fac48f927e80964bcef409ab53eef и связанного с ним контейнера он работает как положено. Кажется, что контейнер цеплялся за том, который он создал при предыдущем запуске.

...