-
Maintained by:
Neo4j -
Where to get help:
Stack Overflow
4.1.3
,4.1
,latest
4.1.3-enterprise
,4.1-enterprise
,enterprise
4.1.2
4.1.2-enterprise
4.1.1
4.1.1-enterprise
4.1.0
4.1.0-enterprise
4.0.8
,4.0
4.0.8-enterprise
,4.0-enterprise
4.0.7
4.0.7-enterprise
4.0.6
4.0.6-enterprise
4.0.5
4.0.5-enterprise
4.0.4
4.0.4-enterprise
4.0.3
4.0.3-enterprise
4.0.2
4.0.2-enterprise
4.0.1
4.0.1-enterprise
4.0.0
4.0.0-enterprise
3.5.23
,3.5
3.5.23-enterprise
,3.5-enterprise
3.5.22
3.5.22-enterprise
3.5.21
3.5.21-enterprise
3.5.20
3.5.20-enterprise
3.5.19
3.5.19-enterprise
3.5.18
3.5.18-enterprise
3.5.17
3.5.17-enterprise
3.5.16
3.5.16-enterprise
3.5.15
3.5.15-enterprise
3.5.14
3.5.14-enterprise
3.5.13
3.5.13-enterprise
3.5.12
3.5.12-enterprise
3.5.11
3.5.11-enterprise
3.5.8
3.5.8-enterprise
3.5.7
3.5.7-enterprise
3.5.6
3.5.6-enterprise
3.4.18
,3.4
3.4.18-enterprise
,3.4-enterprise
3.4.17
3.4.17-enterprise
3.4.16
3.4.16-enterprise
3.4.15
3.4.15-enterprise
3.4.14
3.4.14-enterprise
-
Where to file issues:
https://github.com/neo4j/docker-neo4j/issues -
Published image artifact details:
repo-info repo'srepos/neo4j/
directory (history)
(image metadata, transfer size, etc) -
Image updates:
official-images PRs with labellibrary/neo4j
official-images repo'slibrary/neo4j
file (history) -
Source of this description:
docs repo'sneo4j/
directory (history)
Neo4j is the world's leading graph database, with native graph storage and processing. You can learn more here.
You can start a Neo4j container like this:
docker run \
--publish=7474:7474 --publish=7687:7687 \
--volume=$HOME/neo4j/data:/data \
neo4j
which allows you to access neo4j through your browser at http://localhost:7474.
This binds two ports (7474
and 7687
) for HTTP and Bolt access to the Neo4j API. A volume is bound to /data
to allow the database to be persisted outside the container.
By default, this requires you to login with neo4j/neo4j
and change the password. You can, for development purposes, disable authentication by passing --env=NEO4J_AUTH=none
to docker run.
For more examples and complete documentation please go to our manual here.
As of 11th June 2019 all new Neo4j Docker images will be released with a base image of debian-slim instead of alpine linux. This was prompted by security concerns, which caused the docker maintainers to pull the alpine images from the official openjdk
images.
Older Neo4j images have already been released with openjdk:8-jre-alpine
as the base image. This means our old images can no longer be listed as "supported" on docker hub, although they are still available for download.
In addition to the supported tags, we also have these legacy images of Neo4j available through docker hub:
3.5.5
,3.5.5-enterprise
and earlier patches3.4.13
,3.4.13-enterprise
and earlier patches3.3
,3.3-enterprise
,3.3.9
,3.3.9-enterprise
and earlier patches3.2
,3.2-enterprise
,3.2.14
,3.2.14-enterprise
and earlier patches
A complete list of all available Neo4j images can be found here: https://github.com/neo4j/docker-neo4j-publish/tree/master
If you have created a custom Dockerfile based off a neo4j
image, the main change to be aware of is that debian uses the aptitude
package manager instead of apk
. In most cases you can just replace uses of apk
with apt
, but be aware that not all packages in apk
may be available or have the same name.
Alpine Linux provide a more complete comparison on their documentation page:
https://wiki.alpinelinux.org/wiki/Comparison_with_other_distros
Some users have raised concerns that the Neo4j image changes file permissions on the host machine.
By default, Neo4j runs as the user neo4j
who only exists in the container, not on the host. That means that it's hard to set up mount folders on the host which this new user has write permissions for. We have updated the error messaging with advice about how to fix file permission errors. We also introduced writability checks and reduced the amount of file permission changes the image will perform. This has been found to interfere with some Kubernetes setups, so is currently an opt-in feature.
To enforce stricter file permissions checking you can pass this environment variable to the container:
--env SECURE_FILE_PERMISSIONS=yes
View licensing information for the software contained in this image.
As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
Some additional license information which was able to be auto-detected might be found in the repo-info
repository's neo4j/
directory.
As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.