How to fix Docker Desktop requires Rosetta 2 to be installed in Docker

DockerBEGINNERMEDIUMUpdated Jul 31, 2026· 667 views

This error appears on Apple Silicon Macs when Docker Desktop needs Rosetta 2 for x86/amd64 emulation. Install Rosetta 2 via Terminal or enable the Rosetta setting in Docker Desktop to run Intel-based containers on M1/M2/M3 Macs.

Quick fix

Fixes Docker Desktop requires Rosetta 2 to be installed

# Check if Rosetta 2 is installed
/usr/bin/pgrep -q oahd && echo "Rosetta 2 is installed" || echo "Rosetta 2 is NOT installed"
  1. Check if Rosetta 2 is already installed
  2. Install Rosetta 2 via Terminal
  3. Enable Rosetta emulation in Docker Desktop
  4. Restart Docker Desktop completely
docker — error
# Check if Rosetta 2 is installed
/usr/bin/pgrep -q oahd && echo "Rosetta 2 is installed" || echo "Rosetta 2 is NOT installed"
Docker Desktop requires Rosetta 2 to be installed

What this error means

When running Docker Desktop on Apple Silicon Macs (M1, M2, M3, etc.), you may encounter the "Docker Desktop requires Rosetta 2 to be installed" error. This occurs because Docker Desktop needs Rosetta 2 to run certain Intel-based (x86_64/amd64) binaries and container images. Rosetta 2 is Apple's translation layer that allows Intel-based applications to run on Apple Silicon processors. While Docker Desktop version 4.3.0 and later removed the hard requirement for Rosetta 2, some optional command-line tools and Intel-based container images still need it. There are two contexts where Rosetta 2 matters for Docker: 1. **Docker Desktop startup**: Earlier versions required Rosetta 2 to start at all. Modern versions can start without it but recommend having it installed. 2. **Running amd64 containers**: When you run Intel/AMD64 architecture containers on Apple Silicon, you can use either QEMU (slower) or Rosetta 2 (faster) for emulation.

Typical symptoms

  • Docker Desktop displays 'Docker Desktop requires Rosetta 2 to be installed' on startup
  • Docker Desktop fails to start on Apple Silicon Mac
  • Error dialog prompts to install Rosetta 2 when launching Docker Desktop
  • Intel/amd64 container images fail to run or run very slowly
  • Docker compose services using x86_64 images fail to start
  • CI/CD pipelines on Apple Silicon runners fail with Rosetta errors
  • 'Use Rosetta for x86/amd64 emulation' option is greyed out in Docker settings

Common causes

  1. Rosetta 2 is not installed on the Apple Silicon Mac
  2. Rosetta 2 installation was cancelled or failed during initial macOS setup
  3. Docker Desktop version requires Rosetta 2 for certain components
  4. Attempting to run amd64/x86_64 container images without Rosetta 2
  5. Using docker-compose v1 which requires Rosetta 2 (deprecated)
  6. macOS upgrade removed or corrupted Rosetta 2 installation
  7. Docker Desktop upgrade to version 4.29+ changed Rosetta requirements
  8. macOS Sequoia compatibility issues with Rosetta 2 detection

How to fix "Docker Desktop requires Rosetta 2 to be installed"

1Check if Rosetta 2 is already installed

Before installing Rosetta 2, verify whether it's already present on your system:

Check via Terminal:

bash
# Check if Rosetta 2 is installed
/usr/bin/pgrep -q oahd && echo "Rosetta 2 is installed" || echo "Rosetta 2 is NOT installed"

Alternative check:

bash
# Look for the Rosetta directory
ls /Library/Apple/usr/share/rosetta 2>/dev/null && echo "Rosetta 2 is installed"

If Rosetta 2 is already installed, the issue may be with Docker Desktop's detection. Proceed to step 3 to configure Docker Desktop settings.

2Install Rosetta 2 via Terminal

Install Rosetta 2 using the softwareupdate command:

Run in Terminal:

bash
softwareupdate --install-rosetta

You'll be prompted to accept the license agreement. Type A to agree.

For automated/unattended installation (scripts, CI):

bash
softwareupdate --install-rosetta --agree-to-license

Verify installation succeeded:

bash
/usr/bin/pgrep -q oahd && echo "Rosetta 2 installed successfully"

After installation, restart Docker Desktop if it's running.

3Enable Rosetta emulation in Docker Desktop

Docker Desktop has a setting to use Rosetta 2 for faster x86/amd64 emulation:

Via Docker Desktop UI:
1. Open Docker Desktop
2. Click the gear icon (Settings) in the top right
3. Go to General or Features in Development
4. Look for "Use Rosetta for x86_64/amd64 emulation on Apple Silicon"
5. Enable the checkbox
6. Click Apply & Restart

Via command line (using Docker Desktop CLI):

bash
# Check current settings
cat ~/Library/Group Containers/group.com.docker/settings.json | grep -i rosetta

Note: This option requires Rosetta 2 to be installed first. If the option is greyed out, ensure Rosetta 2 is properly installed.

4Restart Docker Desktop completely

After installing Rosetta 2, fully restart Docker Desktop:

Quit Docker Desktop completely:
1. Click the Docker icon in the menu bar
2. Select Quit Docker Desktop
3. Wait for all Docker processes to stop

Verify Docker is fully stopped:

bash
# Check for running Docker processes
pgrep -l Docker

Restart Docker Desktop:
1. Open Docker Desktop from Applications
2. Wait for it to fully start (whale icon stops animating)

Alternative: Force quit and restart:

bash
# Force quit Docker Desktop
osascript -e 'quit app "Docker Desktop"'
pkill -9 Docker 2>/dev/null

# Wait a moment then restart
sleep 2
open -a "Docker Desktop"
5Update Docker Desktop to latest version

Newer Docker Desktop versions have improved Rosetta 2 handling:

Check current version:

bash
docker version

Update via Docker Desktop:
1. Click the Docker icon in menu bar
2. Select Check for Updates
3. Download and install if available

Manual update:
1. Go to https://www.docker.com/products/docker-desktop/
2. Download the latest Apple Silicon version
3. Open the .dmg file
4. Drag Docker to Applications (replacing existing)
5. Open Docker Desktop

Important notes:
- Docker Desktop 4.3.0+ removed the hard Rosetta 2 requirement
- Docker Desktop 4.29.0+ may have changed Rosetta behavior
- Always use the Apple Silicon (arm64) version, not Intel

6Use native ARM64 images when possible

The best solution is to avoid needing Rosetta 2 by using ARM64-native images:

Check image architecture:

bash
# Inspect an image to see supported architectures
docker manifest inspect --verbose nginx:latest | grep architecture

Pull ARM64-specific images:

bash
# Explicitly request ARM64 platform
docker pull --platform linux/arm64 nginx:latest

Specify platform in docker-compose:

yaml
services:
  web:
    image: nginx:latest
    platform: linux/arm64

Build multi-arch images:

bash
# Build for both ARM64 and AMD64
docker buildx build --platform linux/arm64,linux/amd64 -t myapp:latest .

Most popular images (nginx, postgres, redis, node, python) now have ARM64 variants available.

7Use QEMU as fallback for amd64 images

If Rosetta 2 causes issues, you can fall back to QEMU emulation:

Disable Rosetta emulation in Docker Desktop:
1. Open Docker Desktop Settings
2. Go to General or Features in Development
3. Uncheck "Use Rosetta for x86_64/amd64 emulation on Apple Silicon"
4. Click Apply & Restart

Docker will then use QEMU for x86/amd64 emulation instead.

QEMU vs Rosetta 2 comparison:
| Feature | QEMU | Rosetta 2 |
|---------|------|-----------|
| Speed | Slower | Faster |
| Compatibility | Higher | Some edge cases |
| Requirement | Built into Docker | Requires installation |
| Memory | Higher overhead | Lower overhead |

Note: Some specific workloads may work better with QEMU if you encounter Rosetta-related crashes or compatibility issues.

8Troubleshoot macOS Sequoia compatibility

macOS Sequoia (15.x) introduced some compatibility changes with Rosetta 2 and Docker:

If Docker Desktop doesn't detect Rosetta on Sequoia:

1. Reinstall Rosetta 2:

bash
# Remove and reinstall
sudo rm -rf /Library/Apple/usr/share/rosetta
softwareupdate --install-rosetta --agree-to-license

2. Reset Docker Desktop completely:
- Go to Docker Desktop > Troubleshoot > Reset to factory defaults
- Or manually delete Docker data:

bash
rm -rf ~/Library/Group Containers/group.com.docker
rm -rf ~/Library/Containers/com.docker.docker
rm -rf ~/.docker

3. Reinstall Docker Desktop:
- Download the latest version from docker.com
- Ensure you're using the Apple Silicon version

4. Check for macOS updates:
- Apple may release updates that fix Rosetta compatibility
- Go to System Settings > General > Software Update

9Upgrade from docker-compose v1 to v2

The old docker-compose v1 (standalone binary) requires Rosetta 2 on Apple Silicon. Docker Compose v2 is native.

Check your current version:

bash
# v1 shows: docker-compose version 1.x.x
# v2 shows: Docker Compose version v2.x.x
docker-compose version
docker compose version

Use Compose v2 (bundled with Docker Desktop):

bash
# v2 syntax (recommended)
docker compose up

# vs v1 syntax (deprecated)
docker-compose up

Set alias if needed:

bash
# Add to ~/.zshrc or ~/.bashrc
alias docker-compose='docker compose'

Docker Compose v2 is included with Docker Desktop 4.x and runs natively on Apple Silicon without requiring Rosetta 2.

Advanced notes

Understanding Rosetta 2 and Docker on Apple Silicon:

Apple Silicon Macs use ARM64 architecture, while many Docker images are built for x86_64/amd64 (Intel). When you run an Intel image on Apple Silicon, Docker needs to emulate the x86_64 architecture.

Emulation options:
1. QEMU: Software-based emulation, slower but built into Docker
2. Rosetta 2: Apple's translation layer, faster due to hardware optimizations in M-series chips

Why Rosetta 2 is faster:
The M1/M2/M3 chips have a hardware optimization called "Total Store Ordering" (TSO) that allows them to efficiently access memory using x86 addressing schemes. Rosetta 2 leverages this for significant performance gains over pure software emulation.

Docker VMM (Virtual Machine Manager) limitation:
Docker VMM is a newer virtualization backend for Docker Desktop. As of late 2024, Docker VMM does not support Rosetta 2, so x86/amd64 emulation falls back to QEMU which is slower.

CI/CD considerations for Apple Silicon runners:
- GitHub Actions M1 runners may need Rosetta pre-installed
- Add softwareupdate --install-rosetta --agree-to-license to setup scripts
- Consider building multi-arch images to avoid emulation entirely

Performance recommendations:
1. Use ARM64-native images when available
2. Build multi-architecture images for your own applications
3. Enable Rosetta emulation for any remaining x86_64 needs
4. Consider Docker VMM if you don't need x86 emulation

Historical context:
- Docker Desktop for Apple Silicon initially required Rosetta 2
- Version 4.3.0 (2021) removed the hard requirement
- Some optional CLI tools still need it
- The "Use Rosetta for x86/amd64 emulation" feature was added later as a performance optimization

Frequently asked questions

What does "Docker Desktop requires Rosetta 2 to be installed" mean?
), you may encounter the "Docker Desktop requires Rosetta 2 to be installed" error. This occurs because Docker Desktop needs Rosetta 2 to run certain Intel-based (x86_64/amd64) binaries and container images. Rosetta 2 is Apple's translation layer that allows Intel-based applications to run on Apple Silicon processors.
How do I fix "Docker Desktop requires Rosetta 2 to be installed"?
This error appears on Apple Silicon Macs when Docker Desktop needs Rosetta 2 for x86/amd64 emulation. Install Rosetta 2 via Terminal or enable the Rosetta setting in Docker Desktop to run Intel-based containers on M1/M2/M3 Macs.
What causes "Docker Desktop requires Rosetta 2 to be installed"?
Rosetta 2 is not installed on the Apple Silicon Mac Rosetta 2 installation was cancelled or failed during initial macOS setup Docker Desktop version requires Rosetta 2 for certain components
Is the "Docker Desktop requires Rosetta 2 to be installed" error serious?
It is a medium-severity error — more of a blocker than a risk. The steps above resolve it.

Official resources & further reading