Skip to content

Product docsmacOS servers

Docker Desktop and virtual machines on a Mac dedicated server

Install Docker Desktop on a Mac dedicated server or macOS VDS, set its CPU, memory and disk limits, run amd64 images with Rosetta and keep containers running.

  • Beginner
  • 20 min read
  • Updated
On this page
  1. Before you start
  2. Step 1: Install Docker Desktop
  3. Step 2: Set resources and start-up behaviour
  4. Step 3: Run arm64 and amd64 images
  5. Step 4: Keep containers running
  6. Other virtual machines and emulators
  7. Troubleshooting
  8. Next steps

On a Mac dedicated server, the Mac is yours down to the hardware, so tools that start their own virtual machines work: Docker Desktop, the Android emulator and apps that run macOS or Linux virtual machines through Apple's Virtualization framework. This guide sets up Docker Desktop and covers the points that matter on a Mac in a data center.

Before you start

  • A Mac dedicated server (Apple silicon), or a macOS VDS (Intel-based, with nested virtualization). macOS VPS plans, including Apple Silicon macOS VPS, cannot run Docker Desktop.
  • A supported macOS: Docker Desktop supports the current and the two previous major macOS releases, and needs at least 4 GB of memory.
  • A signed-in desktop session through the HyperDC Web Console or Apple Remote Desktop; see set up a Mac dedicated server.

Step 1: Install Docker Desktop

  1. In the Mac's browser, download Docker Desktop for Mac from Docker's documentation: the Apple silicon build on a Mac dedicated server, the Intel chip build on a macOS VDS.
  2. Open Docker.dmg and drag the Docker icon to the Applications folder.
  3. Start Docker from Applications and complete the first-start steps.

Docker recommends installing Rosetta 2 on Apple silicon for the best results. If it is not installed yet:

Bash
softwareupdate --install-rosetta

Verify:

Bash
docker version
docker run --rm hello-world

The second command prints "Hello from Docker!".

Step 2: Set resources and start-up behaviour

Open Docker Desktop's Settings:

WhereSettingRecommendation
GeneralStart Docker Desktop when you sign in to your computerOn, so containers come back after a restart and sign-in
GeneralUse Rosetta for x86_64/amd64 emulation on Apple SiliconOn, if you run amd64 images (needs the Apple Virtualization framework as virtual machine manager)
Resources › AdvancedCPU limit, Memory limitLeave enough for macOS, Xcode and other work on the Mac
Resources › AdvancedDisk usage limitLarge enough for your images and volumes

Select Apply & restart after changes.

Step 3: Run arm64 and amd64 images

Images built for arm64 run natively and fastest. For an image that exists only for amd64, ask for that platform explicitly:

Bash
docker image inspect --format '{{.Architecture}}' hello-world
docker run --rm --platform linux/amd64 alpine uname -m

The first command shows arm64 for the native image; the second prints x86_64 from inside an emulated container. Use Docker Compose as on any other system; see Docker Compose basics. To build images for both architectures, see multi-architecture Docker images.

Step 4: Keep containers running

  • Start containers with a restart policy, for example docker run -d --restart unless-stopped … or restart: unless-stopped in Compose, so they come back when Docker Desktop starts.
  • Docker Desktop runs inside a signed-in user session. Disconnect from the Web Console or Apple Remote Desktop instead of signing out. For unattended restarts, use automatic login for a standard user as described in set up a Mac dedicated server.

Other virtual machines and emulators

  • Android Emulator: install Android Studio and create a virtual device with an arm64-v8a system image.
  • macOS and Linux virtual machines: apps built on Apple's Virtualization framework run them on Apple silicon. Every running VM takes its share of the Mac's memory and storage, together with Docker Desktop's own VM.

Troubleshooting

Cannot connect to the Docker daemon … Is the docker daemon running? Docker Desktop is not running in your session. Start it from Applications and wait until it reports that the engine is running.

no matching manifest for linux/arm64 or exec format error. The image has no arm64 variant. Run it with --platform linux/amd64 (and Rosetta enabled), or use an image that supports arm64.

Docker Desktop does not start after a restart. Nobody is signed in, or Start Docker Desktop when you sign in is off. See Step 4.

The disk fills up. Remove unused images and build cache with docker system prune (it asks before deleting), and check Disk usage limit.

Docker Desktop reports that the macOS version is not supported. Update macOS within the range Docker supports, keeping your Xcode needs in mind.

Next steps

Frequently asked questions

Can I run Docker Desktop on a macOS VPS?

No. Docker Desktop starts its own Linux virtual machine, which needs nested virtualization or a physical Mac. Use a Mac dedicated server or a macOS VDS, or run containers on a Linux server next to your Mac.

Do amd64 (x86) images work on Apple silicon?

Yes, with emulation. Docker Desktop can use Rosetta for x86_64/amd64 images; they run slower than native arm64 images, so prefer images that are published for arm64.

Do containers keep running when I disconnect?

Yes, as long as the user who started Docker Desktop stays signed in. Disconnecting from the Web Console or Apple Remote Desktop does not sign you out; signing out or restarting stops Docker Desktop.

Can I run the Android emulator?

Yes. On a Mac dedicated server the Android Studio emulator runs Android system images built for Apple silicon (arm64-v8a).

Generate Password

Please confirm