podman neo4j unable to mount volume to persist data

77 Views Asked by At

I am trying to run neo4j with podman with persisted data on volumes.

I do not know why but when I try to run the container with --volume option it dies. Am I doing something wrong?

(venv) [app_runner@eu012vm2093 ~]$ podman ps -a
CONTAINER ID  IMAGE       COMMAND     CREATED     STATUS      PORTS       NAMES
(venv) [app_runner@eu012vm2093 ~]$ podman run -d --name neo4jVol -p 7474:7474 -p 7687:7687 --volume /app/podman_storage/volumes/neo4j:/data neo4j
a281c68231f0987140e0d8a5b74d1e960056bd1a65df7a2be1426e433de05b10
(venv) [app_runner@eu012vm2093 ~]$ podman ps -a
CONTAINER ID  IMAGE                           COMMAND     CREATED        STATUS                    PORTS                                           NAMES
a281c68231f0  docker.io/library/neo4j:latest  neo4j       3 seconds ago  Exited (1) 4 seconds ago  0.0.0.0:7474->7474/tcp, 0.0.0.0:7687->7687/tcp  neo4jVol
(venv) [app_runner@eu012vm2093 ~]$ podman run -d --name neo4j -p 7474:7474 -p 7687:7687  neo4j
8408fd2f49bcc478b303fa05170dc56a5c48da2e0f59fbdabe8ace7e415bdfb8
(venv) [app_runner@eu012vm2093 ~]$ podman ps -a
CONTAINER ID  IMAGE                           COMMAND     CREATED         STATUS                     PORTS                                           NAMES
a281c68231f0  docker.io/library/neo4j:latest  neo4j       17 seconds ago  Exited (1) 18 seconds ago  0.0.0.0:7474->7474/tcp, 0.0.0.0:7687->7687/tcp  neo4jVol
8408fd2f49bc  docker.io/library/neo4j:latest  neo4j       3 seconds ago   Up 3 seconds               0.0.0.0:7474->7474/tcp, 0.0.0.0:7687->7687/tcp  neo4j
(venv) [app_runner@eu012vm2093 ~]$

EDIT:

I have tried to do as suggested by jonathan but I still get the same error:

(venv) [app_runner@eu012vm2093 ~]$ cat run_neo4j.sh
podman run -dt --name=neo4jdb01     --env=NEO4J_ACCEPT_LICENSE_AGREEMENT=yes     --env=NEO4J_AUTH=neo4j/password     --userns=keep-id   --publish=7474:7474 --publish=7687:7687 \
    --volume=$HOME/data/data:/data \
    --volume=$HOME/data/conf:/conf \
    --volume=$HOME/data/logs:/logs \
    --volume=$HOME/data/plugins:/plugins \
    neo4j
(venv) [app_runner@eu012vm2093 ~]$ podman ps -a
CONTAINER ID  IMAGE       COMMAND     CREATED     STATUS      PORTS       NAMES
(venv) [app_runner@eu012vm2093 ~]$ sh run_neo4j.sh
dfe473547f6d7a16912d160e9654b5b0ed08945149fb4aacae7b4c1f2a6cd7fe
(venv) [app_runner@eu012vm2093 ~]$ podman ps -a
CONTAINER ID  IMAGE                           COMMAND     CREATED        STATUS                    PORTS                                           NAMES
dfe473547f6d  docker.io/library/neo4j:latest  neo4j       2 seconds ago  Exited (1) 3 seconds ago  0.0.0.0:7474->7474/tcp, 0.0.0.0:7687->7687/tcp  neo4jdb01
(venv) [app_runner@eu012vm2093 ~]$
1

There are 1 best solutions below

1
On

Here's the command I have used successfully with podman in the past. I have the volumes located in sub-folders of my home folder

podman run -dt \
    --name=neo4jdb01 \
    --env=NEO4J_ACCEPT_LICENSE_AGREEMENT=yes \
    --env=NEO4J_AUTH=neo4j/password \
    --userns=keep-id
    --publish=7474:7474 --publish=7687:7687 \
    --volume=$HOME/Projects/neo4j/data:/data \
    --volume=$HOME/Projects/neo4j/conf:/conf \
    --volume=$HOME/Projects/neo4j/logs:/logs \
    --volume=$HOME/Projects/neo4j/plugins:/plugins \
    neo4j:enterprise