A GNOME Shell extension (GNOME Panel applet) to be able to generally control your available Docker containers.
The following actions are available from the GNOME Panel menu per Docker container:
- Start (compose) (Will start the services of the related compose project when available.)
- Stop (compose) (Will stop the services of the related compose project when available.)
- Pause (compose) (Will pause the services of the related compose project when available.)
- Restart (compose) (Will restart the services of the related compose project when available.)
- Start (Will start the container.)
- Stop (Will stop the container.)
- Pause (Will pause the container.)
- Restart (Will restart the container.)
- Exec (Will login to the running container interactively through your default terminal application.)
- Logs (Will start the running container's Docker logs in your default terminal application.)
Container entries are sorted automatically, with running containers before stopped containers and names sorted alphabetically within each state. The menu height is constrained to the active monitor's work area, and scrollbars appear only when the list is too long to fit on screen.
The extension preferences include a container display option:
- Group containers by type (Separates containers into Docker Compose projects, single instances, and devcontainers — each group divided by a separator. Enabled by default.)
When this option is enabled, the menu is organized into sections divided by separators: Docker Compose projects first, then standalone containers, and finally Dev Container workspaces. Each compose file is collected under a single compose menu that shows the compose project name with a compose-specific icon and a running/total service count, exposes compose-level actions (start, stop, pause, restart) for the whole project, and provides a Services submenu for the individual containers. Running or partially running compose groups appear before fully stopped groups.
When a stopped container was created from a Dev Container workspace (i.e. the workspace folder contains a .devcontainer/devcontainer.json), the extension shows additional information and actions:
- The devcontainer name (from
devcontainer.json) is displayed as a subtitle under the container entry. - The workspace folder path is shown as a clickable item — clicking it opens a terminal at that folder.
- Start (Runs
devcontainer up --workspace-folder <path>to start the container and apply all lifecycle commands.) - Recreate and start (Runs
devcontainer up --remove-existing-container --workspace-folder <path>to destroy the existing container and create a fresh one from the image.)
For running devcontainers, an additional action is available:
- Open in IDE (Runs the configured IDE command to attach your editor to the running container — see IDE command below.)
Note: these actions require the
devcontainerCLI to be installed and reachable onPATH(including version-manager-managed paths such as NVM or pyenv).
Configure a shell command in the extension preferences (Devcontainer → Open in IDE command) to attach your editor to a devcontainer. The command is triggered in two situations:
- Clicking Open in IDE on any running devcontainer.
- Automatically after a successful Recreate and start (since recreation replaces the container ID, causing IDEs to lose their connection).
Use %workspaceFolder% as a placeholder for the workspace folder path. Examples:
| IDE | Command |
|---|---|
| VS Code / Cursor | code --folder-uri "vscode-remote://dev-container+$(printf '%s' '%workspaceFolder%' | od -An -tx1 | tr -dc '[:xdigit:]')/workspaceFolder" |
| Zed | zed %workspaceFolder% (Zed detects the devcontainer on open and prompts to reopen) |
| IntelliJ / JetBrains | No CLI hook available — reconnect manually from inside the IDE. |
Leave the field empty to skip this step entirely.
Prerequisite1
- Properly installed and already running Docker service.
- Corresponding Linux user in
dockerLinux group for manage 'Docker' withoutsudopermission. - (Dev Container features only) the
devcontainerCLI installed and onPATH.
-
You can simply install this extension from it's extensions.gnome.org page2,
-
or you can pull it from it's GitHub source code repository directly into it's required GNOME Shell directory 3
git clone https://github.com/RedSoftwareSystems/easy_docker_containers.git ~/.local/share/gnome-shell/extensions/[email protected]- Restart your shell: [ALT] + [F2] + 'r' + [Enter] (or logout and login again)
- Enable the extension manually with 'GNOME Extensions' application (or with 'GNOME Tweaks' application).
- kiuma
- Tamas-Toth-ebola
- jacobfogg
- albeto001
- [pierreavizou] (https://github.com/pierreavizou)
- [hhoao] (https://github.com/hhoao)
This extension is a fork of gpouilloux's great original Gnome Shell extension for Docker work.
GNU - General Public License v3+
