diff --git a/next.config.mjs b/next.config.mjs index 0ff3da92..c5ab70e0 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -3330,6 +3330,71 @@ export default withNextra({ destination: '/memgraph-lab/features/single-sign-on#set-up-lab-integration-1', permanent: true }, + { + source: '/getting-started/install-memgraph/docker#available-docker-images', + destination: '/getting-started/install-memgraph/docker#quickstart', + permanent: true + }, + { + source: '/getting-started/install-memgraph/docker#run-memgraph-mage-docker-image', + destination: '/getting-started/install-memgraph/docker#run-memgraph-mage', + permanent: true + }, + { + source: '/getting-started/install-memgraph/docker#run-memgraph-mage-docker-image--cugraph', + destination: '/getting-started/install-memgraph/docker#advanced-cugraph-support-legacy', + permanent: true + }, + { + source: '/getting-started/install-memgraph/docker#run-memgraph-docker-image', + destination: '/getting-started/install-memgraph/docker#run-memgraph-mage', + permanent: true + }, + { + source: '/getting-started/install-memgraph/docker#load-and-run-memgraph-docker-image-from-memgraph-download-hub', + destination: '/getting-started/install-memgraph/docker#install-from-a-downloaded-targz', + permanent: true + }, + { + source: '/getting-started/install-memgraph/docker#run-memgraph-lab-image', + destination: '/getting-started/install-memgraph/docker#connect-via-memgraph-lab', + permanent: true + }, + { + source: '/getting-started/install-memgraph/docker#issues-when-connecting-to-memgraph-lab-to-memgraph', + destination: '/getting-started/install-memgraph/docker#memgraph-lab-cant-connect', + permanent: true + }, + { + source: '/getting-started/install-memgraph/docker#issues-when-connecting-to-memgraph-lab-to-memgraph', + destination: '/getting-started/install-memgraph/docker#quickstart', + permanent: true + }, + { + source: '/getting-started/install-memgraph/docker#running-individual-tools-from-memgraph-platform-image', + destination: '/getting-started/install-memgraph/docker#quickstart', + permanent: true + }, + { + source: '/getting-started/install-memgraph/docker#stop-and-start-the-instance', + destination: '/getting-started/first-steps-with-docker#managing-docker-service-on-windows-using-powershell', + permanent: true + }, + { + source: '/getting-started/install-memgraph/docker#issues-with-loading-memgraph', + destination: '/getting-started/install-memgraph/docker#troubleshooting', + permanent: true + }, + { + source: '/getting-started/install-memgraph/docker#issues-when-connecting-to-memgraph-platform-up-to-version-214', + destination: '/getting-started/install-memgraph/docker#troubleshooting', + permanent: true + }, + { + source: '/getting-started/install-memgraph/docker#issues-with-connecting-mgconsole-to-the-database', + destination: '/getting-started/install-memgraph/docker#troubleshooting', + permanent: true + }, diff --git a/pages/getting-started/install-memgraph/docker.mdx b/pages/getting-started/install-memgraph/docker.mdx index f6526793..bd71cc14 100644 --- a/pages/getting-started/install-memgraph/docker.mdx +++ b/pages/getting-started/install-memgraph/docker.mdx @@ -6,182 +6,166 @@ description: Comprehend and master the use of Memgraph with Docker through our t import { Callout } from 'nextra/components' import { Steps } from 'nextra/components' import CodeSnippet from '/components/code-snippet/CodeSnippet' +import {CommunityLinks} from '/components/social-card/CommunityLinks' # Install Memgraph with Docker -[Docker](https://www.docker.com) is a service that uses OS-level virtualization -to deliver software in packages that are called -[containers](https://www.docker.com/resources/what-container). +[Docker](https://www.docker.com) 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. -Memgraph uses Docker because it is: +This page covers: +- [Quickstart](#quickstart): fastest way to run Memgraph with Docker. +- [Available Docker images](#available-docker-images): what each Docker image + includes. +- [Using Docker Compose](#using-docker-compose): if you prefer a + multi-containered setup +- [Install downloaded image](#install-from-a-downloaded-image): Load Memgraph + from a .tar.gz file. +- [Configuration](#configuration-options) +- [Running with cuGraph (Legacy)](#advanced-cugraph-support-legacy): + GPU-accelerated support (no longer maintained). +- [Troubleshooting](#troubleshooting): solutions for common problems. -- Flexible -- Lightweight -- Portable - you can build locally or deploy to the cloud -- Runs on all platforms - Windows, Linux and macOS -- Deploys in Kubernetes -Memgraph bundles the database along with various analytical tools into distinct -Docker images. +## Quickstart -## Available Docker images - -All Memgraph Docker images are available at [Memgraph's Docker -Hub](https://hub.docker.com/u/memgraph). There you will find the exact Docker -image tags you can use to install Memgraph with. - -The main repositories that contain `memgraph` are: +### Run Memgraph MAGE -- `memgraph/memgraph-mage` - includes Memgraph database, command-line interface - [`mgconsole`](/getting-started/cli) and [`MAGE`](/advanced-algorithms) graph - algorithms library. -- `memgraph/memgraph` - includes Memgraph database and command-line interface - [`mgconsole`](/getting-started/cli). - -There are also two additional standalone images that do not include the Memgraph: +```bash +docker run -p 7687:7687 -p 7444:7444 --name memgraph memgraph/memgraph-mage +``` -- `memgraph/lab` - includes a web interface [Memgraph -Lab](/data-visualization) that helps you explore the data stored in Memgraph. -- `memgraph/mgconsole` - includes a command-line interface - [`mgconsole`](/getting-started/cli) that allows you to interact with Memgraph - from the command line. +This command launches **Memgraph MAGE**, the main Docker image which includes: +- **Memgraph database** +- [MAGE (Memgraph Advanced Graph + Extensions)](/advanced-algorithms/available-algorithms): a library of + powerful, ready-to-use graph algorithms (e.g., PageRank, Community Detection) -To use Memgraph, run -[`memgraph/memgraph-mage`](/getting-started/install-memgraph/docker#run-memgraph-mage-docker-image), -[`memgraph/memgraph-mage` + -cuGraph](/getting-started/install-memgraph/docker#run-memgraph-mage-docker-image--cugraph) -or -[`memgraph/memgraph`](/getting-started/install-memgraph/docker#run-memgraph-docker-image) -image. To query Memgraph, use the CLI mgconsole. If you prefer a visual user -interface to query Memgraph, run -[`memgraph/lab`](/getting-started/install-memgraph/docker#run-memgraph-lab-image) -image or [download Desktop -application](https://memgraph.com/download#individual) from Memgraph Download -hub and connect to the running Memgraph instance. +The container maps the following ports for communication and monitoring: -Memgraph and Memgraph Lab can be run as a multi-container application - **Memgraph -Platform**. To do that, run the above images as services with [Docker -Compose](/getting-started/install-memgraph/docker-compose). +- `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). -### Run Memgraph MAGE Docker image +### Connect via CLI -Install and run the `memgraph-mage` image using the following command: +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 run -p 7687:7687 -p 7444:7444 --name memgraph memgraph/memgraph-mage +```bash +docker exec -it memgraph mgconsole ``` -You can connect to the Memgraph instance using the command-line interface -[mgconsole](/getting-started/cli) by running the following command in a new -terminal: +This connects directly to your running Memgraph instance. -```terminal -docker exec -it memgraph mgconsole -``` +For more detailed instructions, visit our [CLI documentation](/getting-started/cli). -You can also connect to Memgraph instance using the [Memgraph -Lab](/data-visualization/user-manual), available for download from [Memgraph's -Download Hub](https://memgraph.com/download), or using the [Memgraph Lab Docker image](#run-memgraph-lab-image). +### Connect via Memgraph Lab -To start using Memgraph in your application, use one of the [client -libraries](/client-libraries) and follow their getting started guide. +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: -### Run Memgraph MAGE Docker image + cuGraph +**Option 1: Run Memgraph Lab via Docker** - +```bash +docker run -d -p 3000:3000 --name lab memgraph/lab +``` -These instructions are listed here as a reference for legacy installations. +Once running, open your browser and go to `localhost:3000` to start using +Memgraph Lab. -We currently do not produce MAGE images with cuGraph (since version 1.3). If this is something you require, please raise an [issue](https://github.com/memgraph/mage/issues) +**Option 2: Download the app** - +Alternatively, you can [download Memgraph Lab](https://memgraph.com/download) +and connect it to your existing Memgraph instance. - +For more information, visit our [Memgraph Lab documentation](/memgraph-lab). -{

Check prerequisites

} -To be able to run cuGraph analytics, make sure you have compatible -infrastructure first. The exact system requirements are available at the [NVIDIA -RAPIDS site](https://docs.rapids.ai/install#requirements), and include an NVIDIA -Pascal (or better) GPU and up-to-date CUDA & NVIDIA drivers. +## Available Docker images -You will also need to install: +All Memgraph Docker images are available at [Memgraph's Docker +Hub](https://hub.docker.com/u/memgraph). There you will find the exact Docker +image tags you can use to install Memgraph with. -- Official [NVIDIA driver](https://www.nvidia.com/download/index.aspx) for your operating system. -- To run on NVIDIA-powered GPUs, RAPIDS requires Docker CE v19.03+ and [nvidia-container-toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html). -- Legacy Docker CE v17-18 users requie the [nvidia-docker2 package](https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(version-2.0)). +{

Core images

} -{

Install and run Memgraph

} +| Image | Includes | +|--------------------------|------------------------------------------| +| `memgraph/memgraph-mage` | Memgraph DB + CLI + MAGE library | +| `memgraph/memgraph` | Memgraph DB + CLI (no graph algorithms) | -Install and run Memgraph using the following command: +> Use `memgraph/memgraph-mage` unless you have a reason to use the slim or +> separate components. -``` -docker run --rm --gpus all -p 7687:7687 -p 7444:7444 memgraph/memgraph-mage:1.3-cugraph-22.02-cuda-11.5 -``` +{

Standalone tools

} -Check the latest versions of cuGraph Docker images at [Memgraph's Docker -Hub](https://hub.docker.com/u/memgraph), by searching the -`memgraph/memgraph-mage` repository with the `cugraph` keyword. -You can connect to the Memgraph instance using the command-line interface -[mgconsole](/getting-started/cli) by running the following command in a new -terminal: +| Image | Description | +|----------------------|-----------------------------------------------| +| `memgraph/mgconsole` | CLI client to interact with Memgraph | +| `memgraph/lab` | Web interface for querying and visualization | -```terminal -docker exec -it memgraph mgconsole -``` -You can also connect to Memgraph instance using the [Memgraph -Lab](/data-visualization/user-manual), available for download from [Memgraph's -Download Hub](https://memgraph.com/download). -To start using Memgraph in your application, use one of the [client -libraries](/client-libraries) and follow their getting started guide. -
+## Using Docker Compose -### Run Memgraph Docker image +To manage Memgraph and its tools (e.g. Memgraph Lab) as a single app in a +multi-containered setup, use **Docker Compose**. -Install and run the `memgraph` image using the following command: +Create a `docker-compose.yml`: -``` -docker run -p 7687:7687 -p 7444:7444 --name memgraph memgraph/memgraph +```yaml +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: memgraph ``` -You can connect to the Memgraph instance using the command-line interface -[mgconsole](/getting-started/cli) by running the following command in a new -terminal: +Then run: -```terminal -docker exec -it memgraph mgconsole +```bash +docker-compose up ``` -You can also connect to Memgraph instance using the [Memgraph -Lab](/data-visualization/user-manual), available for download from [Memgraph's -Download Hub](https://memgraph.com/download). +This will launch both **Memgraph database** and **Memgraph Lab**. -To start using Memgraph in your application, use one of the [client -libraries](/client-libraries) and follow their getting started guide. +We provided a basic setup in the example above, but for more details, visit our +[Docker Compose documentation](/getting-started/install-memgraph/docker-compose). -#### Load and run Memgraph Docker image from Memgraph download hub + +## Install from a downloaded image If you've downloaded the Memgraph Docker image directly from the [Memgraph download hub](https://memgraph.com/download), you'll receive a file named -similar to `memgraph-3.1.1-docker.tar.gz` (the exact file name varies based on -the version you've downloaded). +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: ```terminal -docker load -i memgraph-3.1.1-docker.tar.gz +docker load -i memgraph-3.2.0-docker.tar.gz ``` {

Run the Memgraph image

} @@ -190,293 +174,146 @@ After loading the image, you can run it using the `docker run` command. Here’s an example command to start the Memgraph Docker container: ```terminal -docker run -p 7687:7687 -p 7444:7444 --name memgraph memgraph/memgraph:2.18.0 +docker run -p 7687:7687 -p 7444:7444 --name memgraph memgraph/memgraph:3.2.0 ``` - -The `:2.18.0` part in the `docker run` command refers to the tag of the Docker -image. It is important to specify the correct tag corresponding to the version -of Memgraph you have downloaded and loaded. - -To find the available tags for your images, you can use the `docker images` -command. This command lists all Docker images on your system, including their -tags. - -Docker allows multiple versions of the same image to coexist, each tagged with a -different version number. If no tag is specified, Docker will default to using -the `:latest` tag. - -
-### Run Memgraph Lab image - -Install and run the `lab` image using the following command: - -``` -docker run -d -p 3000:3000 --name lab memgraph/lab -``` - -Once the container is up you can access Memgraph Lab on -[localhost:3000](https://localhost:3000). - -#### Issues when connecting to Memgraph Lab to Memgraph - -Issues when linking Memgraph Lab with Memgraph can come from the chosen -deployment method and the operating system deployed. The handling of the -`QUICK_CONNECT_MG_HOST` environment variable differs based on the operating -system: - -- **Mac or Windows**: The `host.docker.internal` hostname allows Docker - containers to connect to the host machine. Set this as the value for - `QUICK_CONNECT_MG_HOST` when running Lab on Mac or Windows to enable - connection to Memgraph running on the host: - - ``` - docker run -d -p 3000:3000 -e QUICK_CONNECT_MG_HOST=host.docker.internal --name lab memgraph/lab - ``` - -- **Linux**: There's no need to set `QUICK_CONNECT_MG_HOST` as it defaults to - `localhost`, assuming Memgraph is running locally on the host machine. - -You can also use the `QUICK_CONNECT_MG_PORT` environment variable to specify the -quick connect port number, e.g. `- e QUICK_CONNECT_MG_PORT=7688`. - ## Configuration options -To learn about all the configuration options, check out the [configuration -settings](/database-management/configuration). - -When using Docker, you can specify the configuration options in the `docker run` -command: +Memgraph accepts configuration options via command line. Example: -``` +```bash docker run memgraph/memgraph --bolt-port=7687 --log-level=TRACE ``` ---- +For full configuration settings, refer to the Memgraph [Configuration docs](/database-management/configuration). -## Install Memgraph Platform image up to version 2.14 +## Advanced: cuGraph Support (Legacy) -These instructions are listed here as a reference for legacy installations. - -Starting with version 2.15, Memgraph Platform transitions to a multi-container -application. This upgrade moves from a single Docker image to separate -containers for Memgraph+MAGE and Memgraph Lab, utilizing Docker Compose for -deployment and management. - -For detailed setup instructions and best practices, please refer to the [Docker -Compose documentation for Memgraph -Platform](/getting-started/install-memgraph/docker-compose#docker-compose-for-memgraph-platform). - -Please note that the [Memgraph Platform Docker -image](https://hub.docker.com/r/memgraph/memgraph-platform) is no longer being -updated. +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): +1. Ensure you have a Pascal+ NVIDIA GPU and required drivers. +2. Install: + - Docker CE v19.03+ + - nvidia-container-toolkit - - -{

Install Docker Desktop

} - -Install [Docker Desktop](https://docs.docker.com/get-docker/) by following the instructions available on their site. - -{

Install and run Memgraph

} - -Open a terminal and use the following command: - - - -After downloading the image, Memgraph will install and if the installation was -successful, you should see a message similar to the following: - -```nocopy -C:\Users\Vlasta>docker run -p 7687:7687 -p 7444:7444 -p 3000:3000 --name memgraph memgraph/memgraph-platform -2023-08-29 09:02:59,833 INFO Included extra file "/etc/supervisor/programs/lab.conf" during parsing -2023-08-29 09:02:59,834 INFO Included extra file "/etc/supervisor/programs/memgraph.conf" during parsing -2023-08-29 09:02:59,834 INFO Set uid to user 0 succeeded -2023-08-29 09:02:59,842 INFO supervisord started with pid 1 -2023-08-29 09:03:00,845 INFO spawned: 'memgraph' with pid 7 -2023-08-29 09:03:00,848 INFO spawned: 'lab' with pid 8 -You are running Memgraph v2.10.1 -To get started with Memgraph, visit https://memgr.ph/start -[2023-08-29 09:03:01.034] [memgraph_log] [warning] Invalid license key string. To use Enterprise features please set it to a valid string using the following query: -SET DATABASE SETTING "enterprise.license" TO "your-license-key" -[2023-08-29 09:03:01.333] [memgraph_log] [warning] No snapshot or WAL file found. For more details, visit https://memgr.ph/durability. -[2023-08-29 09:03:01.333] [memgraph_log] [warning] Replication configuration will NOT be stored. When the server restarts, replication state will be forgotten. -2023-08-29 09:03:02,334 INFO success: memgraph entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) -2023-08-29 09:03:02,335 INFO success: lab entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) -[2023-08-29 09:03:02.803] INFO: [lab] Lab is running at http://localhost:3000 in platform mode -DGL backend not selected or invalid. Assuming PyTorch for now. -:228: RuntimeWarning: scipy._lib.messagestream.MessageStream size changed, may indicate binary incompatibility. Expected 56 from C header, got 64 from PyObject -[2023-08-29 09:03:09.257] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/libmgclient.so"; /usr/lib/memgraph/query_modules/libmgclient.so: undefined symbol: mgp_init_module. For more details, visit https://memgr.ph/modules. -[2023-08-29 09:03:09.542] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/example_cpp.so"; /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/lib/memgraph/query_modules/example_cpp.so). For more details, visit https://memgr.ph/modules. -[2023-08-29 09:03:09.542] [memgraph_log] [warning] Using non-secure Bolt connection (without SSL). For more details, visit https://memgr.ph/ssl. -``` - -Memgraph will start listing the logs, and don't worry about the inital errors -and warnings as at this point, they are of informative nature. - -{

Connect to the instance

} - -You can connect to the Memgraph instance using the command-line interface -[mgconsole](/getting-started/cli) by running the following command in a new -terminal: +Run Memgraph MAGE + cuGraph (legacy): -```terminal -docker run -it memgraph/mgconsole:latest +```bash +docker run --rm --gpus all -p 7687:7687 -p 7444:7444 memgraph/memgraph-mage:1.3-cugraph-22.02-cuda-11.5 ``` -When the mgconsole starts, you can query the database: - -```nocopy -docker run -it memgraph/mgconsole:latest -mgconsole 1.4 -Connected to 'memgraph://127.0.0.1:7687' -Type :help for shell usage -Quit the shell by typing Ctrl-D(eof) or :quit -memgraph> -``` +## Troubleshooting -You can also connect to Memgraph using the [Memgraph Lab web -application](/data-visualization/user-manual) available within the -`memgraph-platform` Docker image by visiting `localhost:3000`. +### Docker not running? -![](/pages/getting-started/lab.png) +- Launch Docker Desktop and wait for it to start. +- Run: `docker ps` to verify it's working. +- If needed, restart your instance. -To start using Memgraph in your application, use one of the [client -libraries](/client-libraries) and follow their getting started guide. +### 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: -### Running individual tools from Memgraph Platform image +- **Mac & Windows:** + Use `host.docker.internal` to allow Docker containers to communicate with + services running on the host machine. Set this as the value of + `QUICK_CONNECT_MG_HOST` when running Memgraph Lab to connect to a host-based + Memgraph instance: -You can run only the **Memgraph database instance** from the Memgraph Platform image -using the following command: + ```bash + docker run -d -p 3000:3000 -e QUICK_CONNECT_MG_HOST=host.docker.internal --name lab memgraph/lab + ``` -```terminal -docker run -p 7687:7687 memgraph/memgraph-platform -c /etc/supervisor/supervisord-memgraph-only.conf -``` +- **Linux**: + You usually don't need to set `QUICK_CONNECT_MG_HOST`. It defaults to + `localhost`, which works if Memgraph is running directly on the host. -You can run only **mgconsole** from the Memgraph Platform -image using the following command in Linux: +Additionally, you can specify a custom port using the `QUICK_CONNECT_MG_PORT` +environment variable. For example: -```terminal -docker run -it --entrypoint=mgconsole memgraph/memgraph-platform +```bash +-e QUICK_CONNECT_MG_PORT=7688 ``` -You can run only **mgconsole** application from the Memgraph Platform -image using the following command in Windows and macOS: +This allows Memgraph Lab to connect using a different port if needed. -```terminal -docker run -it --entrypoint=mgconsole memgraph/memgraph-platform --host host.docker.internal -``` -You can also consider using a standalone `mgconsole` image as described in the [CLI section](/getting-started/cli). +### Connection failure -You can run only the **Memgraph Lab** web application from the Memgraph Platform -image using the following command: +Let's say you've encountered the following error: -```terminal -docker run -p 3000:3000 memgraph/memgraph-platform -c /etc/supervisor/supervisord-lab-only.conf +```bash +Connection failure: Couldn't connect to 127.0.0.1:7687! ``` -### Stop and start the instance - -You can stop the instance with `docker stop memgraph`. - -You can restart the instance with `docker start memgraph` - - -## Troubleshooting - -### Issues with loading Memgraph -``` -docker load -i memgraph.tar.gz -``` -{

Error during connect:
This error may indicate that the docker daemon is not running.

} +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](https://docs.docker.com/docker-for-windows/networking/) guide or +[Mac](https://docs.docker.com/docker-for-mac/networking/) guide . -Run the Docker Desktop application and wait for it to load fully. -{

Error response from daemon:
open \\.\pipe\docker_engine_linux: The system cannot find the file specified.

} +### Issues with the IP address -Reload the Docker Desktop application and wait for it to load fully. +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: -{

Unsupported OS Linux

} + -You need to download the [Windows Subsystem for -Linux](https://docs.microsoft.com/en-gb/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package), -and enable experimental features in Docker Desktop, under *Settings* -> *Docker -Engine*, change *experimental* to *true*. +{

Find the container ID

} -### Issues when connecting to Memgraph Platform up to version 2.14 +First, list your running Docker containers: -``` -docker run memgraph/memgraph-platform +```bash +docker ps ``` -While this command will start a Memgraph instance, not publishing the port will -cause problems when trying to connect to the database via **Memgraph Lab** or -**mgconsole**. To avoid this, you should publish the -container's port to the host using the `-p` flag and by specifying the port: +You’ll see an output like: ``` -docker run -p 7687:7687 -p 7444:7444 -p 3000:3000 memgraph/memgraph-platform +CONTAINER ID IMAGE COMMAND CREATED +9397623cd87e memgraph "/usr/lib/memgraph/m…" 2 seconds ago ``` -### Issues with connecting `mgconsole` to the database +Take note of the `CONTAINER ID` for the Memgraph image — in this case, it's +`9397623cd87e.` -``` -docker run -it --entrypoint=mgconsole memgraph/memgraph-platform --host HOST -``` +{

Get the container's IP address

} -Although unlikely, sometimes there are issues with connecting **mgconsole** to -the Docker Container’s IP address because it is running on a custom IP rather -than `localhost`. This problem is most often accompanied with the following -error: +Next, retrieve the container’s internal IP address using the ID: -``` -Connection failure: Couldn't connect to 127.0.0.1:7687! +```bash +docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 9397623cd87e ``` -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](https://docs.docker.com/docker-for-windows/networking/) guide or -[Mac](https://docs.docker.com/docker-for-mac/networking/) guide . - -### Issues with the IP address +This IP is the address you’ll use to connect via **Memgraph Lab** or +**mgconsole**. -Although unlikely, some users might experience minor difficulties after the -Docker installation. Instead of running on `localhost`, a Docker container for -Memgraph may be running on a custom IP address. Fortunately, that IP address can -be found as follows: +{

Use the IP to connect

} -**1.** Determine the ID of the Memgraph Container by issuing the -command `docker ps`. The user should get an output similar to the following: +Replace `HOST` in the following command with the IP address you just retrieved: +```bash +docker run -it --entrypoint=mgconsole memgraph/memgraph-platform --host HOST ``` -CONTAINER ID IMAGE COMMAND CREATED -9397623cd87e memgraph "/usr/lib/memgraph/m…" 2 seconds ago -``` - -At this point, it is important to remember the container ID of the Memgraph -Image. In our case, that is `9397623cd87e`. -**2.** Use the this ID to retrieve the IP address of the Container: +This ensures you're connecting directly to the Memgraph instance running in +Docker. -``` -docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 9397623cd87e -``` +
-The command above will yield the IP address that should be used when connecting -to Memgraph via **Memgraph Lab** or **mgconsole**. Just replace -`HOST` from the following command with the appropriate IP address: -``` -docker run -it --entrypoint=mgconsole memgraph/memgraph-platform --host HOST -``` +