M1 MacにDocker Desktop環境を構築するための手順を紹介します.
Dockerをインストールします
brewでDocerをインストールする。
brew install docker
Docker Desktopのインストール
docker-toolはM1 Mac (arm64)サポート外
docker-toolのインストールを試みる。
brew install --cask docker-toolbox
すると以下のエラーが出る。
######################################################################## 100.0%
==> Installing dependencies: virtualbox
==> Downloading https://download.virtualbox.org/virtualbox/7.0.4/VirtualBox-7.0.
######################################################################## 100.0%
Error: Cask virtualbox depends on hardware architecture being one of [{:type=>:intel, :bits=>64}], but you are running {:type=>:arm, :bits=>64}.
Docker-toolboxには、Virtualboxのインストールが必要だが、Virtualboxはarm64をサポートしていないとのこと。
Docker desktop for Macのインストール
現在はDocker-toolboxよりもDocker desktop for Macが主流のようである。Dockerのページからインストーラをダウンロードしてインストール。
参考までに以下は公式ページに記載されている、Docker Desktop on Mac を使い始める前に知っておく重要なポイント。
- Docker Desktop は VirtualBox の代わりに HyperKit を使います。Hyperkit は軽量な macOS 仮想化ソリューションであり、 macOS 10.10 Yosemite 以降の Hypervisor.framework 上で構築されています。
- Docker Desktop on Mac をインストールしても、Docker Machine で作成したマシンは影響を受けません。
- Docker Desktop は仮想マシンのプロビジョンに
docker-machine
を使いません。Docker Engine API は Mac ホスト上の/var/run/docker.sock
に露出しているソケットで利用できます。これは Docker と Docker Compose クライアントが Docker デーモンと通信するためのデフォルトの場所です。つまり、docker
とdocker-compose
CLI コマンドが Mac 上で使えます。
翻訳すると、「Mac Apple Sericon用のDocker DesktopではRosetta2が必須要件から外されたが、一部のコマンドラインツールはRosetta 2を必要とするため、Rosetta 2をインストールすることを推奨する。」とのことなので、Rosetta 2もインストールする。
Beginning with Docker Desktop 4.3.0, we have removed the hard requirement to install Rosetta 2. There are a few optional command line tools that still require Rosetta 2 when using Darwin/AMD64. See the Known issues section. However, to get the best experience, we recommend that you install Rosetta 2. To install Rosetta 2 manually from the command line, run the following command:
https://docs.docker.com/desktop/install/mac-install/
$ softwareupdate --install-rosetta
公式ページからダウンロードしたDocker.dmgをダブルクリックしてインストール完了。その後表示されるチュートリアルを実行して完了。