# Docker

[Docker](https://www.docker.com/what-docker) is a tool for deploying and running executables in isolated and reproducible environments. This may be useful, for example, to test code in an environment identical to production.

IntelliJ IDEA integrates the Docker functionality and provides assistance for creating Docker images, running Docker containers, managing Docker Compose applications, using public and private Docker registries, and much more directly from the IDE.

Procedure: Enable the Docker plugin

This functionality relies on the [Docker](https://plugins.jetbrains.com/plugin/7724-docker)  plugin, which  is bundled and enabled in IntelliJ IDEA   by default. If the relevant features are not available, make sure that you did not disable the plugin.

> **Note:**
> The Docker plugin is available by default only in IntelliJ IDEA  with the Ultimate subscription. For IntelliJ IDEA, you need to install the Docker plugin as described in [Plugins](managing-plugins.html).

1. Press `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) to open settings and then select `Plugins`.

2. Open the Installed tab, find the Docker plugin, and select the checkbox next to the plugin name.

Procedure: Install and run Docker

* Install and run Docker as described in [Docker documentation](https://docs.docker.com/install/).

> **Tip:**
> IntelliJ IDEA supports alternative Docker daemons: [Colima](https://github.com/abiosoft/colima) and [Rancher Desktop](https://rancherdesktop.io/) (with the `dockerd` engine).

Procedure: Connect to the Docker daemon

1. Press `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) to open settings and then select `Build, Execution, Deployment | Docker`.

2. Click ![The Add button](https://resources.jetbrains.com/help/img/idea/2026.2/app.expui.general.add.svg) to add a Docker configuration and specify how to connect to the Docker daemon.

The connection settings depend on your Docker version and operating system.  For more information, refer to [Docker connection settings](settings-docker.html).

The Connection successful message should appear at the bottom of the dialog.

![The Docker connection settings](https://resources.jetbrains.com/help/img/idea/2026.2/03_DockerSettings.png)

For more information about mapping local paths to the virtual machine running the Docker daemon when using Docker on Windows or macOS, refer to [Virtual machine path mappings for Windows and macOS hosts](settings-docker.html#virtual-machine-path). You will not be able to use volumes and bind mounts for directories outside of the mapped local path.

This table is not available on a Linux host, where Docker runs natively and you can mount any directory to the container.

3. Open the Services tool window ( `View | Tool Windows | Services` or `Alt+8` (Windows), `⌘ 8` (macOS), `⌘ 8` (IntelliJ IDEA Classic (macOS)), `⌘ 8` (macOS System Shortcuts), `Alt+8` (XWin), `Alt+8` (GNOME), `Alt+8` (KDE), `Alt+8` (Emacs), `Alt+8` (Sublime Text), `⌘ 8` (Sublime Text (macOS)), `Alt+8` (NetBeans), `Alt+8` (Visual Studio), `Alt+8` (Visual Studio (macOS)), `Alt+8` (Eclipse), `⌘ 8` (Eclipse (macOS)) ), select the configured Docker connection node ![Docker node](https://resources.jetbrains.com/help/img/idea/2026.2/clouds-docker-impl.icons.Docker.svg) and click ![The Connect button](https://resources.jetbrains.com/help/img/idea/2026.2/app.actions.execute.svg), or select Connect from the context menu.

![The Docker tool window, connected to Docker](https://resources.jetbrains.com/help/img/idea/2026.2/51_DockerConnected.png)

To edit the Docker connection settings, select the Docker node and click ![The Edit Configuration button](https://resources.jetbrains.com/help/img/idea/2026.2/app-client.expui.general.edit.svg) on the toolbar, or select Edit Configuration from the context menu.

You can also click ![the Add Service menu](https://resources.jetbrains.com/help/img/idea/2026.2/app.expui.general.add.svg) and select Docker Connection to add a Docker connection directly from the Services tool window. If you have [Docker contexts](https://docs.docker.com/engine/context/working-with-contexts/) configured, you can select Docker Connections from Docker Contexts to add the corresponding connections.

Once you connect to the Docker daemon, you can use the Services tool window ( `View | Tool Windows | Services` or `Alt+8` (Windows), `⌘ 8` (macOS), `⌘ 8` (IntelliJ IDEA Classic (macOS)), `⌘ 8` (macOS System Shortcuts), `Alt+8` (XWin), `Alt+8` (GNOME), `Alt+8` (KDE), `Alt+8` (Emacs), `Alt+8` (Sublime Text), `⌘ 8` (Sublime Text (macOS)), `Alt+8` (NetBeans), `Alt+8` (Visual Studio), `Alt+8` (Visual Studio (macOS)), `Alt+8` (Eclipse), `⌘ 8` (Eclipse (macOS)) ) to manage everything related to Docker, for example: [pull and push images](docker-images.html), [create and run containers](docker-containers.html), and [scale Docker Compose services](docker-compose.html). As with other tool windows, you can start typing the name of an image or container to highlight the matching items.

![The Docker tool window, text search](https://resources.jetbrains.com/help/img/idea/2026.2/55_DockerFindImage.png)

For more information, refer to the section about Docker in [Services tool window](services-tool-window.html#docker).

## Prerequisites for working with Docker on a remote server

Before you start working with Docker on a remote machine, make sure the following prerequisites are met:

* A local [Docker CLI](faq-about-dev-containers.html#docker_cli), which is necessary for connecting to the remote Docker instance. You can either install Docker Desktop or just Docker CLI.

* [Docker Buildx](https://github.com/docker/buildx#manual-download) plugin, which is necessary for building images from Dockerfile. Note that using Buildx with Docker requires Docker Engine version 19.03 or later.

> **Note:**
> For Dev Containers on a remote server, refer to [Limitations](dev-container-limitations.html).

## See also

### External Links

[Docker plugin on JetBrains Marketplace](https://plugins.jetbrains.com/plugin/7724-docker) [YouTube video: Docker in IntelliJ IDEA](https://www.youtube.com/watch?v=ck6xQqSOlpw)

### Tutorials

[Run a database in a Docker container](running-a-dbms-image.html) [Run and debug a Java application with Docker](running-a-java-app-in-a-container.html) [Run and debug a Spring Boot application using Docker Compose](run-and-debug-a-spring-boot-application-using-docker-compose.html) [Deploy a Java web application inside an application server container](deploying-a-web-app-into-an-app-server-container.html)

### Settings

[Docker connection settings](settings-docker.html) [Docker Registry settings](settings-docker-registry.html) [Docker console settings](settings-docker-console.html)

