PortBayvsDocker Desktop
Docker Desktop and PortBay overlap on one job: running your sites and services on a Mac. Docker Desktop runs every container inside a Linux virtual machine; its fastest hypervisor, Docker VMM, requires at least 4 GB of memory allocated to the VM before it turns on. PortBay runs PHP, Node, and seven database engines as native processes: no VM, no images, no pull limits (Docker Hub caps unauthenticated pulls at 100 per 6 hours). Licensing is the other gap. Docker Desktop is free only for personal use, education, non-commercial open source, and companies under 250 employees and 10 million dollars in revenue; Pro is 9 dollars per user per month billed annually. PortBay is open source under AGPL-3.0, free for 6 projects, and Pro is 10 dollars per month, or free for life with one merged qualifying pull request (last verified July 2026).
Which one is right for you
You want the full stack, open source.
You run local sites and services on a Mac and the VM is the tax you resent: memory held by an idle Linux VM, image pulls metered by Docker Hub, and a license that stops being free once your company crosses 250 employees or 10 million dollars in revenue. PortBay gives each project an https .test domain, a managed database, mail capture, and a one-click tunnel, all as native processes.
It already fits your workflow.
Your production runs in containers and you need local parity with the exact image you ship. Your compose stack includes services PortBay does not manage (Kafka, Elasticsearch, your own images). Or part of your team is on Windows, which Docker Desktop supports and PortBay does not.
Where PortBay and Docker actually differ
The table below has the row-by-row detail. These are the three shapes it cannot draw: the job you already use one of them for, the job only one of them does, and what survives the move.

PortBay and Docker overlap on the everyday job: a local site on a real domain, over HTTPS, with the services it needs. If that is all you need, either will do it.

Move a card to To Do and PortBay launches Claude Code, Codex or Cursor against a project that is already running. Docker has no board to dispatch from.

Point PortBay at the folders you already have. They stay where they are, .test domains are re-issued on the first run, and databases are imported rather than rebuilt.
Feature by feature
Docker rows come from Docker’s own site and docs, on the date below. PortBay rows come from the app’s source. We mark partial support honestly — including where the other side wins.
Docker facts on this page were last checked against docker.com/pricing on . Pricing and limits change — check their site before you decide.
Coming from Docker Desktop
Most local Docker setups on a Mac reduce to one compose file: an app service, a database, maybe Redis and a mail catcher. Each piece has a native equivalent. The compose db service becomes a managed PortBay database with its own data directory and port; published ports become https .test domains routed through Caddy; compose environment variables move into the project's env block, and a linked database injects DATABASE_URL and DB_* on every start. Services PortBay does not manage can stay in Docker and run side by side.
Inventory the compose file: app service, databases, caches, mail catcher.
Create a matching PortBay database per data service and link it; connection env vars inject on every start.
Add the app as a PortBay project. Published ports become an https .test domain; stop the compose stack when it matches.
PortBay vs Docker, in plain terms
For local sites and services, yes. PortBay replaces the parts of Docker Desktop most Mac developers use it for: running an app, a database, a cache, and mail capture behind local URLs. It runs everything as native macOS processes with https .test domains. It is not a container runtime: if you need to execute container images, you still need Docker or a runtime like Colima.
Whether you need a paid subscription depends on your employer. Docker Desktop is free for personal use, education, non-commercial open source, and companies with fewer than 250 employees and less than $10 million in annual revenue. Past either threshold, every user needs a paid subscription: Pro is $9 per user per month billed annually, Team $15, Business $24. PortBay is open source (AGPL-3.0) with no company-size rule; the free tier covers 6 projects for anyone.
Not as containers. PortBay maps the common compose services to native equivalents: the db service becomes a managed database instance (MySQL, MariaDB, PostgreSQL, Redis, MongoDB, Memcached or SQLite), and your app runs on a native PHP or Node runtime with an https .test domain. Stacks that depend on exotic images (Kafka, Elasticsearch, custom services) should keep Docker for those pieces; both tools can run at the same time.
PortBay reserves nothing up front: each project and database is a native process that uses whatever that server actually needs, and stopped projects use zero. Docker Desktop on macOS keeps a Linux virtual machine running, and its Docker VMM hypervisor requires at least 4 GB of memory allocated to the VM before it can be enabled. Exact totals depend on your stack, so measure both on your own projects.
No, because it never pulls images. Docker Hub caps unauthenticated pulls at 100 per 6 hours per IPv4 address and free Personal accounts at 200 per 6 hours; busy days and CI runs can hit those walls. PortBay installs runtimes and database engines as native binaries, so there is no registry, no login, and no pull meter in your local loop.

Give your projects and your agents a real local home.
Download for macOSFree & open source · macOS 11+ on Apple Silicon · Pro from $10/mo
