How to Create a Database with Docker and Desktop App

I created a Docker container with the following command:

docker run \
    --name neo4j_server \
    --publish=7474:7474 --publish=7687:7687 \
    --volume=$PWD/data:/data \
    --volume=$PWD/plugins:/plugins \
    --volume=$PWD/import:/import \
    --volume=$PWD/conf:/conf \
    --volume=$PWD/logs:/logs \
    -d \
    neo4j:latest

Container up normally.

I opened the instance in the Neo4j Desktop App on MacOS Catalina, opened the browser, and ran the CREATE DATABASE dbtest command and got the error:

That docker image is equivalent (at the time of this writing) to 4.0.0 community. While 4 supports multi-database, community does not.

If you use the docker tag neo4j:4.0.0-enterprise you should find it works

Notice how tags are split between regular version numbers (community) and *-enterprise tags. https://hub.docker.com/_/neo4j

Thanks for reply David.

In this case (community), on docker image, the default db called neo4j is a system db structure or is a blank db for starts a project?

If is a blank, how i can rename that?

The default database is called neo4j on both community & enterprise. You also get system which contains users, roles, permissions, and so forth. It's always blank with docker, unless you mount an existing directory mapped to /data in the container, in which case you can place your own database in there.

@david.allen i've mapped data folder, but is possible rename neo4j default db, on Browser ui?

No, 4.0 doesn't support renaming of databases. But if you're using docker you also don't need it. You can basically copy that folder to another folder of a different name, and start the DB with a different name in the default database setting, and it accomplishes the same.

https://neo4j.com/docs/operations-manual/current/manage-databases/introduction/index.html#manage-databases-default