July 12, 2026 · Docker HQ Team

How to Run docker ps From Your Phone

To run docker ps from your phone, SSH into the server with a terminal app (Termius, Blink, or a hardened OpenSSH client) and run the command exactly as you would on a laptop. The whole docker ps mobile trick is SSH plus a bit of output formatting. The catch is the small screen: docker ps output wraps badly, so you'll almost always want --format to trim it down, or a purpose-built mobile app that renders the container list as a real UI instead of scrolling text.

The short version

If you already have SSH keys set up and an SSH client on your phone, this is a two-step job:

ssh deploy@your-server.example.com
docker ps

That works. But the raw output of docker ps is designed for an 80-plus column terminal, and your phone in portrait is closer to 40. Lines wrap, the PORTS and STATUS columns collide, and you end up squinting. The rest of this post is about making that output actually readable on a 6-inch screen, and knowing when to stop fighting the terminal.

Getting an SSH session on your phone

You need three things: an SSH client, your private key on the device, and the server reachable.

Good clients as of 2026:

  • Termius (iOS/Android) — syncs hosts across devices, handles keys, has a usable on-screen key bar for Tab, Ctrl, and pipes.
  • Blink Shell (iOS) — mosh support, which matters when you're on flaky mobile data and don't want the session to die every time you walk into an elevator.
  • Termux (Android) — a full terminal environment; run ssh from inside it like any Linux box.

Copy your private key over through the app's key manager, not through a messaging app or email. If you don't have a key yet, generate one on a trusted machine and add the public half to the server:

ssh-keygen -t ed25519 -C "phone"
ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@your-server.example.com

One thing worth doing before you rely on this at 3am: set a ~/.ssh/config entry so you're not typing the full host string on a touch keyboard.

Host prod
    HostName your-server.example.com
    User deploy
    IdentityFile ~/.ssh/id_ed25519

Then it's just ssh prod followed by docker ps.

Making docker ps mobile output readable

Here's where most people give up and just scroll. Don't. The --format flag rewrites the output using Go templates, and on a phone it's the difference between usable and useless.

Show only the name and status, one clean line each:

docker ps --format '{{.Names}}\t{{.Status}}'

Want ports too, but nothing else?

docker ps --format '{{.Names}} | {{.Status}} | {{.Ports}}'

If you like tables but want to pick the columns, use table at the front of the template:

docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Image}}'

The available fields are .ID, .Image, .Command, .CreatedAt, .RunningFor, .Ports, .Status, .Size, .Names, .Labels, .Mounts, .Networks, and .State. On a phone I default to .Names and .Status and add more only when I'm chasing something specific.

You can bake the format into an environment variable so you never type it again. Add this to the server's shell profile (or your phone client's startup command):

export DOCKER_PS_FORMAT='{{.Names}}\t{{.Status}}'

Docker reads DOCKER_PS_FORMAT on its own, so after that a bare docker ps gives you the trimmed output. Nice for muscle memory.

Filtering instead of scrolling

Scrolling a long container list on a phone is miserable. Filter server-side instead.

Only running containers whose name matches api:

docker ps --filter 'name=api'

Everything that has exited (the usual "why is this down" query):

docker ps -a --filter 'status=exited'

Just the container IDs, one per line, which is handy for piping:

docker ps -q --filter 'name=worker'

And the query I actually run most on mobile, "show me anything that isn't healthy":

docker ps --filter 'health=unhealthy'

That last one only works for containers with a HEALTHCHECK defined, but if you've set those up it's the fastest way to find the sick container without reading the whole list.

When docker ps tells you a container is down

Finding the dead container is step one. You'll usually want to see why, and that means logs. On a phone, docker logs has the same wrapping problem as docker ps, so lean on --tail to avoid dumping ten thousand lines into a tiny scrollback:

docker logs --tail 50 -f <container>

There's more to reading logs comfortably on mobile than --tail, and I wrote up the full workflow separately in Reading Docker Logs on Your Phone: A Practical Guide. If the container is up but misbehaving and you need to poke around inside it, that's a shell, which has its own quirks over a mobile connection covered in Running docker exec From Your Phone Over SSH.

The problem with doing this over raw SSH

Raw SSH works and I'd never tell you not to keep it in your back pocket. But there are real friction points when your phone is the only thing you have.

Session drops. Mobile data is unreliable, and a plain SSH session dies the moment your connection blips. Mosh (via Blink or the mosh package) fixes most of this, but you have to set it up on both ends.

Typing. Docker template strings are full of braces, pipes, and backslashes, all of which live behind two or three taps on a phone keyboard. You will fat-finger {{.Status}} at some point.

No alerting. docker ps is a pull. You have to remember to look. If a container died at 2am, SSH doesn't tell you, you find out when someone complains. This is the gap where a dedicated app earns its place.

Doing it without the terminal

If you manage more than one or two hosts, or you just don't want to fight a touch keyboard, Docker HQ connects to your servers over the same SSH you already use and renders docker ps as an actual container list: names, status, health, and ports laid out for a phone screen, tap a container to see logs or open a shell. It also does the thing raw SSH can't, which is push you an alert when a container or a whole host goes down instead of waiting for you to run the command. There's a full walkthrough of managing containers from mobile if you want the wider picture, and the pricing page lists what's free versus paid.

The honest trade-off: raw SSH is free and already on your phone, an app is a subscription. If you check one server occasionally, SSH is fine. If you're on call for a fleet, the alerting alone tends to pay for itself the first time you catch an outage before your users do.

Frequently asked questions

Can I run docker ps on my phone without installing anything?

Not quite nothing, but close. You need an SSH client app (Termius, Blink, or Termux are the common ones) and your SSH key on the device. Once that's set up, docker ps runs identically to how it does on a laptop. There's no Docker-specific software to install on the phone itself.

Why does docker ps output look broken on my phone?

The default output assumes a wide terminal. On a narrow phone screen the columns wrap onto multiple lines and become hard to read. Use docker ps --format '{{.Names}}\t{{.Status}}' to show only the fields you care about, or filter with --filter so there's less to display in the first place.

Do I need root to run docker ps over SSH?

You need to be in the docker group or have sudo. If you get a permission error talking to the Docker socket, add your user to the group once on the server with sudo usermod -aG docker $USER and reconnect. Running docker through sudo on every command works too but gets tedious on a phone.

Is running Docker commands over SSH from a phone secure?

It's as secure as your SSH setup. Use key-based auth (an ed25519 key), disable password login on the server, and store the key in your SSH app's encrypted keychain rather than a notes app. The connection itself is encrypted end to end, same as SSH from any other device.

Try it tonight

Set up the ~/.ssh/config entry and the DOCKER_PS_FORMAT export on one server right now, while you're not under pressure. The next time something pages you, ssh prod and docker ps will already be muscle memory instead of a fight with your phone keyboard.