Docker and Podman StudioThe all-in-one visual Studio GUI for Docker & Podman inside Visual Studio Code.
Manage Compose stacks, Interactive Architecture Topologies, Containers, Pods, OCI Images, Volumes, Networks, Docker Contexts, and Podman Machine VMs from one sleek Studio panel — powered by Docker out of the box, with one-click switching to Podman. VS Code Marketplace · GitHub Releases (.vsix) · Report Bug · Request Feature
Why Developers Love Docker and Podman Studio
Visual Tour1. Unified Engine Dashboard, Docker Contexts & Storage AnalyticsInspect live daemon telemetry, switch between local and remote Docker Contexts (
2. One-Click Podman Mode & Kubernetes-Style PodsSwitch to Podman anytime to unlock daemonless rootless container management, Podman Machine VM lifecycle controls, and native Kubernetes-style Pods with shared network/IPC namespaces.
3. Real-Time Multi-Service Log StreamingDebug distributed stacks effortlessly with color-coded log levels, per-service filter pills, instant text search, pause/resume controls, or 1-click routing to the VS Code Output Channel and integrated Terminal.
4. Instant Engine Selector & 16-Language LocalizationSwitch between Docker and Podman or choose from 16 built-in languages (shown below in Russian —
Dual-Engine Architecture: Docker & PodmanDocker and Podman Studio uses Docker (
Complete Feature SetVisual Compose Studio (
|
| Code | Language | Code | Language |
|---|---|---|---|
auto |
Automatic (VS Code Display Language) | pl |
Polski (Polish) |
en |
English (Fallback Default) | tr |
Türkçe (Turkish) |
pt-BR |
Português (Brasil) | nl |
Nederlands (Dutch) |
es |
Español | ja |
日本語 (Japanese) |
fr |
Français | ko |
한국어 (Korean) |
de |
Deutsch | zh-CN |
简体中文 (Simplified Chinese) |
it |
Italiano | zh-TW |
繁體中文 (Traditional Chinese) |
ru |
Русский (Russian) | hi |
हिन्दी (Hindi) |
uk |
Українська (Ukrainian) |
Requirements
Only the CLI for your selected engine is required:
- For Docker Mode (Default):
- Docker CLI (
docker) and Docker Compose (docker composev2 plugin ordocker-compose) — compatible with Docker Desktop, Docker Engine on Linux, OrbStack, Rancher Desktop, and Colima.
- Docker CLI (
- For Podman Mode:
- Podman CLI and Podman Compose (
podman-composeorpodman compose). Provider capabilities vary; the isolated lifecycle and scaling tests have been exercised with Podman 6.1.4 and podman-compose 1.6.0 on Windows. - Compose status requires a provider that supports
ps --all -q, orpodman-compose, whoseps -qincludes stopped containers. Studio reports an error instead of silently omitting stopped containers when it cannot establish this. - Windows / macOS: An initialized Podman Machine (
podman machine init), manageable directly from the Studio Dashboard. - Windows: Configure a native executable or a PowerShell script for Podman and Compose.
.cmdand.batwrappers are rejected for Podman commands because their shell argument handling cannot safely preserve arbitrary input. PowerShell execution policies still apply.
- Podman CLI and Podman Compose (
Getting Started
- Install Docker and Podman Studio from the VS Code Marketplace (or download the
.vsixfrom GitHub Releases). - Open the Studio from any entry point:
- Click
Docker Studio/Podman Studioin the bottom Status Bar (shows live connection status). - Click the Docker and Podman Studio icon in the Activity Bar.
- Open the Command Palette (
Ctrl+Shift+P/Cmd+Shift+P) and runDocker and Podman Studio: Open Studio Panel. - Right-click any
docker-compose.yml,compose.yml,podman-compose.yml,Dockerfile, orContainerfilein the VS Code Explorer.
- Click
- Want to use Podman instead of Docker? Toggle Docker | Podman directly in the Studio sidebar or set
"dockerPodmanStudio.engine": "podman"in VS Code Settings.
Commands
| Command ID | Title |
|---|---|
dockerPodmanStudio.openPanel |
Docker and Podman Studio: Open Studio Panel |
dockerPodmanStudio.switchEngine |
Docker and Podman Studio: Switch Container Engine (Docker / Podman) |
dockerPodmanStudio.composeUp |
Docker and Podman Studio: Compose Up |
dockerPodmanStudio.composeStart |
Docker and Podman Studio: Compose Start |
dockerPodmanStudio.composeStop |
Docker and Podman Studio: Compose Stop |
dockerPodmanStudio.composeDown |
Docker and Podman Studio: Compose Down |
dockerPodmanStudio.composeRestart |
Docker and Podman Studio: Compose Restart |
dockerPodmanStudio.composeBuild |
Docker and Podman Studio: Compose Build & Up |
dockerPodmanStudio.registerComposeFiles |
Docker and Podman Studio: Register Compose File... |
dockerPodmanStudio.createContainer |
Docker and Podman Studio: Create Container |
dockerPodmanStudio.createPod |
Docker and Podman Studio: Create Podman Pod |
dockerPodmanStudio.createVolume |
Docker and Podman Studio: Create Volume |
dockerPodmanStudio.createNetwork |
Docker and Podman Studio: Create Network |
dockerPodmanStudio.buildImage |
Docker and Podman Studio: Build Image from Dockerfile / Containerfile |
dockerPodmanStudio.pushImage |
Docker and Podman Studio: Push Image to Registry |
dockerPodmanStudio.pruneImages |
Docker and Podman Studio: Prune Dangling Images |
dockerPodmanStudio.pruneAllImages |
Docker and Podman Studio: Prune All Unused Images |
dockerPodmanStudio.pruneBuilderCache |
Docker and Podman Studio: Clear Builder Cache |
dockerPodmanStudio.startMachine |
Docker and Podman Studio: Start Podman Machine |
dockerPodmanStudio.stopMachine |
Docker and Podman Studio: Stop Podman Machine |
dockerPodmanStudio.restartMachine |
Docker and Podman Studio: Restart Podman Machine |
dockerPodmanStudio.openToolsMenu |
Docker and Podman Studio: Quick Tools |
dockerPodmanStudio.resetEnginePaths |
Docker and Podman Studio: Reset Docker & Podman CLI Paths |
Extension Settings
| Setting | Default | Description |
|---|---|---|
dockerPodmanStudio.engine |
"docker" |
Active container engine ("docker" by default, or "podman"). |
dockerPodmanStudio.language |
"auto" |
Interface language (auto, en, pt-BR, es, fr, de, it, ru, uk, pl, tr, nl, ja, ko, zh-CN, zh-TW, hi). |
dockerPodmanStudio.dockerPath |
"docker" |
Path to the docker executable. |
dockerPodmanStudio.podmanPath |
"podman" |
Path to the podman executable. |
dockerPodmanStudio.composeCommandStyle |
"auto" |
Compose execution mode: "auto" (docker compose for Docker, podman-compose / podman compose for Podman), "plugin", "standalone", or "custom". |
dockerPodmanStudio.composePath |
"" |
Optional custom Compose binary path (leave empty for automatic engine defaults). |
dockerPodmanStudio.inPod |
"default" |
Pod grouping flag (--in-pod) when running podman-compose in Podman mode. |
dockerPodmanStudio.machineName |
"podman-machine-default" |
Default Podman Machine VM name (Windows/macOS in Podman mode). |
dockerPodmanStudio.pollingInterval |
2500 |
Container status polling interval in milliseconds. |
dockerPodmanStudio.logBufferSize |
5000 |
Maximum number of log lines retained in memory. |
dockerPodmanStudio.autoDetectFiles |
true |
Auto-discover docker-compose.yml, compose.yml, and podman-compose.yml files in workspace and active containers. |
dockerPodmanStudio.confirmDeletions |
true |
Prompt for confirmation before destructive delete or prune operations. |
dockerPodmanStudio.logsOutput |
"studio" |
Default log viewer target ("studio", "outputChannel", or "terminal"). |
dockerPodmanStudio.enablePushCommand |
true |
Enable image Push actions in the Images page. |
dockerPodmanStudio.pushDefaultRegistry |
"" |
Default target registry prefix for image pushes (e.g., docker.io/my-user or quay.io/my-org). |
dockerPodmanStudio.registryProvider |
"dockerhub" |
Registry provider (dockerhub, quay, ghcr, acr, ecr, custom). |
dockerPodmanStudio.registryUrl |
"" |
Custom OCI registry host URL. |
dockerPodmanStudio.registryAuthType |
"engineCli" |
Registry authentication method (engineCli, basic, bearer). |
dockerPodmanStudio.registryUsername |
"" |
Username for private OCI registry authentication. |
dockerPodmanStudio.registryAutoLogin |
true |
Run docker login / podman login automatically when saving credentials. |
Development & Building from Source
git clone https://github.com/Italoalmeida0/docker-and-podman-studio-vscode.git
cd docker-and-podman-studio-vscode
# Install dependencies
npm install
npm --prefix webview-ui install
# Build Webview UI + Extension Host bundle
npm run build:all
# Run regression tests (no Podman resources are changed)
npm test
# Package into a .vsix installer
npm run package
For opt-in tests against an isolated Podman project and resources, see CONTRIBUTING.md.
License
Released under the MIT License.
Copyright © 2026 Italo Almeida.




