DEV Community

Cover image for Install Docker Desktop on Mac
Megha Sharma
Megha Sharma

Posted on

Install Docker Desktop on Mac

System requirements

Mac with Intel chip:

  • A supported version of macOS
  • At least 4 GB of RAM

Docker supports Docker Desktop on the most recent versions of macOS. That is, the current release of macOS and the previous two releases. As new major versions of macOS are made generally available, Docker stops supporting the oldest version and supports the newest version of macOS (in addition to the previous two releases).

Mac with Apple silicon:

  • A supported version of macOS
  • At least 4 GB of RAM

For the best experience, it's recommended that you install Rosetta 2. There is no longer a hard requirement to install Rosetta 2, however there are a few optional command line tools that still require Rosetta 2 when using Darwin/AMD64. See https://docs.docker.com/desktop/troubleshoot/known-issues/).

To install Rosetta 2 manually from the command line, run the following command:

$ softwareupdate --install-rosetta
Enter fullscreen mode Exit fullscreen mode

πŸ‘‰ Install and run Docker Desktop on Mac

Image description

Install interactively:

  1. Go to the Docker website and download Docker Desktop for Mac from the following [URL: docker.com/products/docker-desktop]https://www.docker.com/products/docker-desktop/).

  2. Double-click Docker.dmg to open the installer, then drag the Docker icon to the Applications folder. By default, Docker Desktop is installed at /Applications/Docker.app.

  3. Double-click Docker.app in the Applications folder to start Docker.

  4. The Docker menu displays the Docker Subscription Service Agreement.

Here’s a summary of the key points:

  • Docker Desktop is free for small businesses (fewer than 250 employees AND less than $10 million in annual revenue), personal use, education, and non-commercial open source projects.
  • Otherwise, it requires a paid subscription for professional use.
  • Paid subscriptions are also required for government entities.
  • Docker Pro, Team, and Business subscriptions include commercial use of Docker Desktop.

5.Select Accept to continue.

Note: Docker Desktop won't run if you do not agree to the terms. You can choose to accept the terms at a later date by opening Docker Desktop.

Install from the command line:

After downloading Docker.dmg from either the download buttons at the top of the page or from the release notes, run the following commands in a terminal to install Docker Desktop in the Applications folder:

$ sudo hdiutil attach Docker.dmg
$ sudo /Volumes/Docker/Docker.app/Contents/MacOS/install
$ sudo hdiutil detach /Volumes/Docker
Enter fullscreen mode Exit fullscreen mode

By default, Docker Desktop is installed at /Applications/Docker.app. As macOS typically performs security checks the first time an application is used, the install command can take several minutes to run.

The install command accepts the following flags:

--accept-license: Accepts the Docker Subscription Service Agreement now, rather than requiring it to be accepted when the application is first run.

--allowed-org=<org name>: Requires the user to sign in and be part of the specified Docker Hub organization when running the application.

--user=<username>: Performs the privileged configurations once during installation. This removes the need for the user to grant root privileges on first run. To find the username, enter ls /Users in the CLI.

--admin-settings: Automatically creates an admin-settings.json file which is used by administrators to control certain Docker Desktop settings on client machines within their organization.

--proxy-http-mode=<mode>: Sets the HTTP Proxy mode. The two modes are system (default) or manual.

--override-proxy-http=<URL>: Sets the URL of the HTTP proxy that must be used for outgoing HTTP requests. It requires --proxy-http-mode to be manual.

--override-proxy-https=<URL>: Sets the URL of the HTTP proxy that must be used for outgoing HTTPS requests, requires --proxy-http-mode to be manual.

--override-proxy-exclude=<hosts/domains>: Bypasses proxy settings for the hosts and domains. It's a comma-separated list.

Top comments (0)