Install Memgraph with Docker
Docker is a containerization platform that packages software and its dependencies into isolated environments called containers. Memgraph provides official Docker images to help you quickly set up the database, tools and analytics.
This page covers:
- Quickstart: fastest way to run Memgraph with Docker.
- Available Docker images: what each Docker image includes.
- Using Docker Compose: if you prefer a multi-containered setup
- Install downloaded image: Load Memgraph from a .tar.gz file.
- Configuration
- Running with cuGraph (Legacy): GPU-accelerated support (no longer maintained).
- Troubleshooting: solutions for common problems.
Quickstart
Run Memgraph MAGE
docker run -p 7687:7687 -p 7444:7444 --name memgraph memgraph/memgraph-mageThis command launches Memgraph MAGE, the main Docker image which includes:
- Memgraph database
- MAGE (Memgraph Advanced Graph Extensions): a library of powerful, ready-to-use graph algorithms (e.g., PageRank, Community Detection)
The container maps the following ports for communication and monitoring:
7687: Used by client applications (e.g., Memgraph Lab, mgconsole, drivers) to connect and execute queries on the Memgraph database.7444: Streams Memgraph logs to Memgraph Lab for real-time monitoring (optional but recommended).
Connect via CLI
The simplest way to execute Cypher queries against Memgraph is through its command-line tool, mgconsole. If you’re running Memgraph in Docker, you can start the CLI with:
docker exec -it memgraph mgconsoleThis connects directly to your running Memgraph instance.
For more detailed instructions, visit our CLI documentation.
Connect via Memgraph Lab
If you prefer more visual approach, Memgraph Lab offers a user-friendly UI to interact with your data and run Cypher queries. You have two options:
Option 1: Run Memgraph Lab via Docker
docker run -d -p 3000:3000 --name lab memgraph/labOnce running, open your browser and go to localhost:3000, click on New
Connection, and enter host.docker.internal to connect to your running
instance and start using Memgraph Lab.

Option 2: Download the app
Alternatively, you can download Memgraph Lab and connect it to your existing Memgraph instance.
For more information, visit our Memgraph Lab documentation.
Available Docker images
All Memgraph Docker images are available at Memgraph’s Docker Hub. There you will find the exact Docker image tags you can use to install Memgraph with.
Core images
| Image | Includes |
|---|---|
memgraph/memgraph-mage | Memgraph DB + CLI + MAGE library |
memgraph/memgraph | Memgraph DB + CLI (no graph algorithms) |
Use
memgraph/memgraph-mageunless you have a reason to use the slim or separate components.
Standalone tools
| Image | Description |
|---|---|
memgraph/mgconsole | CLI client to interact with Memgraph |
memgraph/lab | Web interface for querying and visualization |
Using Docker Compose
To manage Memgraph and its tools (e.g. Memgraph Lab) as a single app in a multi-containered setup, use Docker Compose.
Create a docker-compose.yml:
version: "3"
services:
memgraph:
image: memgraph/memgraph-mage
ports:
- "7687:7687"
- "7444:7444"
lab:
image: memgraph/lab
ports:
- "3000:3000"
environment:
QUICK_CONNECT_MG_HOST: memgraphThen run:
docker-compose upThis will launch both Memgraph database and Memgraph Lab.
We provided a basic setup in the example above, but for more details, visit our Docker Compose documentation.
Install from a downloaded image
If you’ve downloaded the Memgraph Docker image directly from the Memgraph
download hub, you’ll receive a file named
similar to memgraph-3.2.0-docker.tar.gz (the exact file name varies based on
the version you’ve downloaded).
To load this image into Docker, do the following:
Load the image into Docker
Use the docker load command to load the
image into Docker:
docker load -i memgraph-3.2.0-docker.tar.gzRun the Memgraph image
After loading the image, you can run it using the docker run command. Here’s
an example command to start the Memgraph Docker container:
docker run -p 7687:7687 -p 7444:7444 --name memgraph memgraph/memgraph:3.2.0Configuration options
Memgraph accepts configuration options via command line. Example:
docker run memgraph/memgraph --bolt-port=7687 --log-level=TRACEFor full configuration settings, refer to the Memgraph Configuration docs.
Advanced: cuGraph Support (Legacy)
cuGraph builds are no longer maintained since Memgraph MAGE v1.3. These instructions are here as a reference for legacy installations.
To run GPU-accelerated graph analytics (if using an older version):
- Ensure you have a Pascal+ NVIDIA GPU and required drivers.
- Install:
- Docker CE v19.03+
- nvidia-container-toolkit
Run Memgraph MAGE + cuGraph (legacy):
docker run --rm --gpus all -p 7687:7687 -p 7444:7444 memgraph/memgraph-mage:1.3-cugraph-22.02-cuda-11.5Troubleshooting
Docker not running?
- Launch Docker Desktop and wait for it to start.
- Run:
docker psto verify it’s working. - If needed, restart your instance.
Memgraph Lab can’t connect?
Connection issues between Memgraph Lab and Memgraph often depend on your
deployment method and operating system. The behavior of the
QUICK_CONNECT_MG_HOST environment variable varies by platform:
-
Mac & Windows: Use
host.docker.internalto allow Docker containers to communicate with services running on the host machine. Set this as the value ofQUICK_CONNECT_MG_HOSTwhen running Memgraph Lab to connect to a host-based Memgraph instance:docker run -d -p 3000:3000 -e QUICK_CONNECT_MG_HOST=host.docker.internal --name lab memgraph/lab -
Linux: You usually don’t need to set
QUICK_CONNECT_MG_HOST. It defaults tolocalhost, which works if Memgraph is running directly on the host.
Additionally, you can specify a custom port using the QUICK_CONNECT_MG_PORT
environment variable. For example:
-e QUICK_CONNECT_MG_PORT=7688This allows Memgraph Lab to connect using a different port if needed.
Connection failure
Let’s say you’ve encountered the following error:
Connection failure: Couldn't connect to 127.0.0.1:7687!To fix this issue, just replace HOST from the first command with
host.docker.internal. To find out more about networking in Docker, take a look
at Networking features in Docker Desktop for
Windows guide or
Mac guide .
Issues with the IP address
While uncommon, some users may face connectivity issues after installing
Memgraph via Docker. Instead of running on localhost, the Memgraph container
might be assigned a custom IP address. You can identify and use this IP address
by following these steps:
Find the container ID
First, list your running Docker containers:
docker psYou’ll see an output like:
CONTAINER ID IMAGE COMMAND CREATED
9397623cd87e memgraph "/usr/lib/memgraph/m…" 2 seconds agoTake note of the CONTAINER ID for the Memgraph image — in this case, it’s
9397623cd87e.
Get the container's IP address
Next, retrieve the container’s internal IP address using the ID:
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 9397623cd87eThis IP is the address you’ll use to connect via Memgraph Lab or mgconsole.
Use the IP to connect
Replace HOST in the following command with the IP address you just retrieved:
docker run -it --entrypoint=mgconsole memgraph/memgraph-platform --host HOSTThis ensures you’re connecting directly to the Memgraph instance running in Docker.