Services tool window
The Services tool window displays the query consoles, SQL files, and database objects opened or attached to your data sources. The tool window also displays query log output.

For a quick overview of the Services tool window, see the following video.
The main toolbar contains the following buttons and menus that are common for all service types:
Add Service Alt+Insert
Choose a service type to add.
Group By
Choose how you want to organize the list of services:
Group Services by Type: arrange services by type, such as Run Dashboard, Docker, or Database
Open in New Tab
Move the selected items to a separate tab.
Expand All Ctrl+NumPad +
Expand all items in the list.
Collapse All Ctrl+NumPad -
Collapse all items in the list.
Display services in separate tool windows
You can adjust the layout of the Services tool window by moving services to their own separate tool windows.
Right-clicking a service and selecting Open in Separate Tool Window from the context menu moves the service to a dedicated tool window. To move a service back to the Services tool window, right-click the service and select Add to Services Tool Window.
As another option, you can configure the layout for one or several services in a dedicated dialog.
In the Services tool window, click
and select Configure Services Tool Window.
Alternatively, press Ctrl+Shift+A and start typing
Configure Services Tool Window.Use the Exclude and Include buttons to move services from the Services tool window to a separate tool window and back.
Configurations from the Run/Debug section don't have their own tool windows — instead, they appear in the Run or Debug tool window when they are not included in the Services tool window.
Click OK to save the changes.
Run/debug configurations
Run/debug configurations are not listed in the Services tool window by default. You need to explicitly specify the types of configurations you want to be available and create the corresponding configurations.
Buttons on the toolbar depend on the selected type of the run/debug configuration and can include the following:
Run Ctrl+Shift+F10
Run the selected configuration.
Debug ⌃ ⇧ D
Run the selected configuration in Debug mode.
Stop Ctrl+F2
Stop the selected configuration.
Rerun Ctrl+Shift+F10
Rerun the selected configuration.
Rerun in Debug Mode ⌃ ⇧ D
Rerun the selected configuration in Debug mode.
Filters
Filter the output for the selected configuration. For example, you can select to show warnings and successful steps.
More
Additional actions related to the configuration. For example, you can open and modify the settings of the selected configuration.
Database

Query output.
Left toolbar
Buttons on the toolbar depend on the selected item and can include the following:
Icon | Action and shortcut | Description |
|---|---|---|
| Transaction Mode and Transaction Isolation | Select the isolation level for database transactions and the way the transactions are committed.
For more information about database transaction modes and isolation, refer to Submit changes to a database. |
Cancel Running Statements Ctrl+F2 | Terminate execution of the current statement or statements. |
Context menu
Actions of the context menu depend on the selected item and can include the following:
Icon | Action and shortcut | Description |
|---|---|---|
Jump to Query Console Ctrl+Shift+F10 | Open the Query Consoles popup. In the Query Consoles popup, you can select a query console that you want to open in the editor. | |
Deactivate Ctrl+F2 | Close the database connection for the selected data source or data sources. (The data sources with connected sessions are indicated with a green dot in the corner of their icon.) | |
Close All Sessions | Close all opened sessions to a data source. | |
Open in New Tab | Move the selected items to a separate tab. | |
Open Each in New Tab | Split the selected items into separate tabs. | |
Open Each Type in New Tab | Create separate tabs for each type of service. | |
Delete Delete | Close all opened sessions to a data source. Identical to Close All Sessions. | |
| Transaction Mode and Transaction Isolation | Select the isolation level for database transactions and the way the transactions are committed.
For more information about database transaction modes and isolation, refer to Submit changes to a database. |
Commit | (For the Manual transaction mode.) Commit the current transaction. This button is available only for the manual transaction mode. See also, transaction mode and isolation. | |
| Roll back | (For the Manual transaction mode.) Roll back changes. This button is available only for the manual transaction mode. See also, transaction modes and isolation. |
Cancel Running Statements Ctrl+F2 | Terminate execution of the current statement or statements. | |
Close Session | Close the selected session. | |
Switch session | Attach the selected file to one of the available sessions. | |
Open in New Tab | Move the selected items to a separate tab. | |
Open Each in New Tab | Split the selected items into separate tabs. | |
Open Each Type in New Tab | Create separate tabs for each type of service. | |
Delete Delete | Close all opened sessions to a data source. Identical to Close All Sessions. | |
Jump to Source F4 | Open the file in the editor. |
Docker
This type of service is available if you have configured connection settings for at least one Docker instance. For more information, refer to Connect to the Docker daemon.
Add a Docker connection
Click
Add Service and select .
Configure the Docker connection settings and click OK.
For more information, refer to Docker connection settings.
Main Docker node
These are the main actions for working with the selected Docker connection:
Connect Ctrl+Enter
Connect to the selected Docker daemon and list all available images and containers.
Disconnect
Disconnect the selected Docker daemon.
Edit Configuration Shift+F4
Edit the selected Docker connection settings.
Delete Connections
Delete the connection to the selected Docker daemon.
Pull Image…Pull an image from a Docker registry. For more information, refer to Pull a public image from Docker Hub.
Clean Up
Remove all stopped containers, unused volumes and networks, dangling images, and all build caches.
Containers
This node lists all containers managed by the corresponding Docker daemon.
Clean Up
Remove all stopped containers.
When you select a container, the following actions are available:
Start
Run the selected container.
Open Project
Open the selected project in a Docker container.
Restart
Restart the selected container.
Stop
Stop the selected container.
Terminal
Open a tab with the Terminal in the selected container.
You can choose between creating a Terminal with the current container user privileges or log in with
rootuser privileges.
More actions are available under the menu:
- Show Files
Open the Files tab to browse and manage files in the container: edit, create, rename, delete, and copy them to and from the container.
For more information, refer to Browse files in a container.
Inspect
Open the Inspection tab with detailed information about the container in JSON format.
For more information, refer to View detailed information about a running container.
Copy Image ID
Copy the ID of the image that was used to run this container.
Copy Container ID
Copy the ID of the container.
Container dashboard
The Dashboard tab provides important information about the selected container:
Name and hash ID of the container. You can click the image name to highlight the image that was used to run the selected container.
Names and values of environment variables defined in the container.
Ports mappings between the container and the host.
Volume bindings between the container and the host.
Click Add… to add a new variable, port binding, or volume binding, and recreate the container.
Click to open a menu with some additional actions:
Files tab
The Files tab shows the file system of a running container. To open it, select Show Files in the context menu of the container. For more information, refer to Browse files in a container.
The toolbar of the Files tab contains the following actions, which are also available in the context menu:
Home DirectoryGo to the home directory of the container user.
Create Directory
Create a directory inside the selected directory.
To create nested directories, separate their names with a slash, for example,
config/local.Rename Shift+F6
Rename the selected file or directory.
Delete
Delete the selected file or directory with all its contents.
Refresh
Reload the file tree.
Show or hide hidden files and directories.
Download to Scratch
Copy the selected files and directories to the Docker Files directory under Scratches and Consoles (scratch files).
Open in Editor
Open the selected files in the editor. You can edit them, and DataGrip saves the changes directly to the container.
The Create Directory, Rename, and Delete actions are available only for files and directories that the container user has permission to modify.
Images
This node lists all images managed by the corresponding Docker daemon.
Type the image name in the Image to pull field and click
Pull to pull a new image from a configured Docker registry. For more information, refer to Pull a public image from Docker Hub.
When you select an image, the following actions are available:
Create Container
Create a Docker container from the selected image.
Show Layers
Open the Layers tab that shows the layers (intermediate internal untagged images) from which the selected image consists.
Push Image
Push an image to a Docker registry. For more information, refer to Push an image to a Docker registry.
More actions are available under the menu:
Copy Image ID
Copy the hash ID of the selected image.
Inspect
Open the Inspection tab with detailed information about the image in JSON format.
For more information, refer to the docker inspect command reference.
Show Labels
Open the Labels tab with the image's labels.
Image dashboard
The Dashboard tab provides important information about the selected image:
Name, hash ID, date of latest changes, and size of the image.
List of tags that point to the image.
List of existing containers created from this image.
Networks
This node lists all networks managed by the corresponding Docker daemon.
Create Network
Create a Docker network for your containers to operate in.
Clean Up
Remove all unused networks.
Network dashboard
The Dashboard tab provides important information about the selected network:
Name and hash ID of the network.
List of containers connected to this network.
List of labels assigned to this network.
Click Inspect to run docker inspect on the selected network and output it to a separate tab.
Volumes
This node lists all volumes managed by the corresponding Docker daemon.
Create Volume
Create a Docker volume for your containers to use.
Clean Up
Remove all unused volumes.
When you select a volume, the following actions are available:
Inspect
Open the Inspection tab with detailed information about the volume in JSON format.
For more information, refer to the docker inspect command reference.
Remove
Remove the selected volume.
Volume dashboard
The Dashboard tab provides important information about the selected volume:
Name or hash ID of the volume.
List of containers that use this volume.
List of this volume's labels.
Docker Compose
Start All
Deploy your selected Docker Compose services using the associated run/debug configuration. For more information, refer to Docker Compose.
Stop
Stop all containers in the selected Docker Compose services.
Down
Stop and remove all containers in the selected Docker Compose services, including all related networks, volumes, and images.
Kubernetes
This type of service is available if the Kubernetes plugin is installed and enabled. For more information about the Kubernetes integration in DataGrip, refer to Kubernetes.
Connect Cluster
Connect to the selected cluster.
Disconnect
Disconnect from the selected cluster.
Set Cluster as Current
Set the selected cluster as the current one.
Open Cluster Logs Tab or Open Logs Tab
Open cluster or resource logs in a new editor tab. For more details, refer to View logs.
Namespace
Select a namespace to filter the resources available in the cluster.
Open Kubeconfig File in Editor
Open the Kubernetes cluster configuration file. By default, this is a file named config in the $HOME/.kube directory. For more details, refer to Edit kubeconfig.
Add Clusters
Add a Kubernetes cluster to the Services tool window.
Show Cluster Settings
Navigate to .
Connect Telepresence
View YAML
Open a resource YAML file where the following actions are available:
: Apply changes to the current context and namespace.
: Delete the resource from the current context and namespace.
: Reload the file content from the cluster
: Show the differences between the opened file and the corresponding cluster resource in the diff viewer.
For more details, refer to Resource configuration files.
Describe Resource
Displays detailed information about the selected resource, similarly to the
kubectl describecommand.Delete Resource
Remove the selected resource from the cluster.
Download Log
Save the selected pod’s container log to a scratch file and open it in the editor.
Instead of using a scratch file, you can configure the default path for saving logs or choose the location every time. To configure the download location for pod logs, click
or open Settings | Build, Execution, Deployment | Kubernetes.
Open Console
Attach to the console of a process running in a container within the selected pod.
Run Shell
Run an interactive shell for the container in the selected pod.
By default, DataGrip runs
/bin/bash. To run a different shell, open Settings | Build, Execution, Deployment | Kubernetes and specify the shell that your pods use in the Pod shell field.
Ephemeral Debug ContainersAttach an ephemeral debug container to the current pod without restarting it. For more details, refer to Ephemeral containers.
Forward Ports
Forward one or more local ports to remote ports. For more details, refer to Forward ports.
Stop Port Forwarding
Stop the selected port-forwarding session.
Restart Port Forwarding
Restart the selected port-forwarding session.
Productivity tips
- Use tabs
The Services tool window can include a lot of services, which you can group according to their type or create separate tabs for your own custom grouping. For example, you can create a tab that will include the following: the run configuration for the application that you are developing, the Docker container that runs the database used as a backend for your application, and a console for accessing the database.
- Hide the services tree
Click
in the right part of the Services tool window toolbar and then click Show Services Tree to remove the checkbox. You can also press Ctrl+Shift+T to toggle the services tree.
If you hide the services tree, it is replaced by a services navigation bar. Press Alt+Home to focus the services navigation bar.
- Hide, remove, and delete services
Right-click any service and select Delete Delete to completely remove the corresponding run configuration, cloud provider, Docker connection, and so on.
If you don't want to show run/debug configurations of a certain type in the Services tool window, right-click the corresponding configuration and select Remove Configuration Type from Services. This will not remove the actual configuration.
To hide a specific run configuration from the Services tool window, right-click the corresponding configuration and select Hide Configuration. To see all hidden run configurations, click
and select Restore Hidden Configurations.