Sunday, November 15, 2026

How to Install Podroid and Set Up Docker on Android

A step-by-step walkthrough for installing Podroid and getting Docker running on an unrooted Android phone, no bootloader unlock required.

Quick answer

Sideload the Podroid APK from its GitHub releases page, tap Start VM, then run containers with regular Docker commands from the in-app terminal; no root needed.

Getting a real Linux kernel onto a phone used to mean rooting it, unlocking the bootloader, or wrestling with a half-working proot setup in Termux. Podroid skips all of that: it boots an actual Alpine Linux virtual machine on top of stock Android, so Docker, Podman and LXC work the same way they do on a server.

This walks through sideloading the Podroid APK, starting the VM, and running your first container with a forwarded port so you can hit it from your phone’s browser. It pairs well with our list of containers worth trying on Android once Podroid is up and running.

Before you start

  • Difficulty Easy
  • Time needed 15 minutes
  • Works on Any arm64 phone or tablet, Android 8+, no root

What you'll need

  • An arm64 Android device running Android 8 or later
  • At least 300 MB free storage (more if you raise the VM disk size)
  • A file manager or browser you can use to download the APK
  • A computer only if you plan to enable the AVF backend or SSH in

Important

  • Enabling unknown-app installs is a security tradeoff; only use it for the official GitHub release, not random mirrors.
  • Running the VM continuously increases battery drain, more so once you exempt it from battery optimization.
  • Termux alone cannot run Docker containers; you need Podroid's full VM because Android's kernel lacks the cgroups and overlay filesystem support Docker needs.

Install Podroid and Run Your First Container

This is the only path that matters for most people: sideload the app, start the VM, and run a container.

Step 1: Allow installs from unknown sources

Open Settings > Apps > Special access > Install unknown apps, then pick whichever app you’ll use to download the APK (your browser or file manager) and turn on the toggle.

This permission is scoped to that one app, so it does not open the door to every sideloaded file on your phone.

Tip: Only download from the official Podroid GitHub releases page; unofficial mirrors are the main security risk here.

Step 2: Download the Podroid APK

Go to the Podroid GitHub page and grab the latest release APK. On a phone you can also run wget https://github.com/ExTV/Podroid/releases/latest/download/podroid.apk from a terminal app.

There is no Play Store listing and no package manager route, so this GitHub download is the official install method.

Step 3: Install the APK and open Podroid

Tap the downloaded file and install it like any other sideloaded app. Open Podroid once it finishes.

Step 4: Start the VM

Tap Start VM and wait for the screen to show Ready!. First boot takes longer than later ones, typically 10 to 45 seconds depending on your phone and backend.

Open the in-app terminal once the VM reports ready.

Step 5: Turn on SSH if you want it

The setup wizard offers an SSH toggle; turn it on now if you want to connect from a laptop later. If you skip it, you can enable the same option afterward under Settings.

Step 6: Run and expose a container

In the terminal, run docker run -d -p 8080:80 nginx to pull and start a container, the same as you would on a server.

To reach it from your phone’s browser, forward the port with podroid-forward add 8080 8080 tcp, then open http://<phone-ip>:8080. Run podroid-forward clean later to remove every rule at once.

Tip: Docker Hub images work without extra configuration, so most containers from a Docker guide will run as written.

Reach Podroid from a Computer (SSH and AVF)

Use this method only if you want hardware acceleration or want to work from a laptop instead of the phone’s terminal.

Step 1: Connect from a computer over SSH

With SSH enabled in Podroid, run ssh root@<phone-ip> -p 9922 from your laptop. The default password is podroid.

This gives you a full shell into the Alpine VM, so tools like VS Code Remote can attach the same way they would to a cloud server.

Step 2: Grant adb permissions for AVF

The hardware-accelerated AVF backend needs a one-time setup from a computer. Connect the phone with a USB cable and grant two adb permissions as described in Podroid’s Backends documentation (Shizuku works too, if you’d rather skip adb).

Step 3: Switch the backend to AVF

Open Settings in Podroid and set the backend to AVF. On a supported pKVM device this runs the guest kernel on real CPU cores instead of emulating it, which noticeably speeds things up.

AVF only works on phones with pKVM support; everything else stays on the software QEMU backend, which runs on any arm64 device.

Pro tips

  • Set a wake lock or exempt Podroid from battery optimization so Android does not kill the VM while your screen is off.
  • Remap container ports that clash with Android's own services instead of fighting the default.
  • Use podroid-forward rather than relying on a container's built-in port settings if your browser can't reach it.
  • Export a diagnostic log from Settings before filing a bug report; it bundles app info, VM state and logs in one file.

Troubleshooting

ProblemWhat to do
The VM stops or containers disappear after the screen locksExempt Podroid from battery optimization in your phone's app settings so Android stops killing its background process.
A container's default port doesn't respond in the browserRemap the port on the container side and forward it explicitly with podroid-forward instead of relying on the image's default.
Containers won't start when you try this in TermuxTermux shares Android's kernel and lacks the namespaces Docker needs; install Podroid's Alpine VM instead.
A device doesn't show the AVF backend optionAVF needs pKVM support, which only recent Pixel-class hardware has; stay on the QEMU backend, which works on any arm64 phone.

Frequently asked questions

Does Podroid require root?

No. The default QEMU backend runs on a stock, unrooted phone; only the optional AVF backend needs a one-time adb permission grant from a computer.

What's the default SSH password for Podroid?

The README sets it to podroid for the root account, reachable on port 9922 once SSH is enabled in the setup wizard or Settings.

Can I install Podroid from the Play Store?

No, Podroid has no Play Store listing. You sideload the APK from its GitHub releases page.

Will Podroid work on an ARM32 or x86 phone?

No, the APK is built for arm64 devices only; ARM32 and x86 phones are unsupported.

How much storage does Podroid need?

Roughly 200 MB for the app plus a VM disk that defaults to 2 GB and can be resized up to 64 GB.

Once a container is running and forwarded, the rest is standard Docker work: pull images, map ports, and treat the phone like a small always-on Linux host. If you want ideas for what to run next, our list of useful containers for Android is a good next stop.

Sources and further reading

  • Smart Converter โ€” Stop Rooting Your Phone! Podroid Runs Linux Containers Natively
  • Extv Github โ€” Podroid: Linux containers on Android, no root required
  • GitHub โ€” GitHub – ExTV/Podroid: A rootless Android app that boots Alpine Linux: run containers (Pod
  • Hysen Labs โ€” Podroid: run Linux containers on Android without root

Never miss a Droidfeats story

Choose Droidfeats as a preferred source and see more of our coverage in Google Search.

Written by

Saeed Ashif Ahmed

Saeed is the founder and editor-in-chief of Droidfeats. His experience with rooting and flashing custom ROMs in 2013 inspired him to create the platform.

Leave a Comment

Best Deals

Trending topics