uokadaの見逃し三振は嫌いです

ここで述べられていることは私の個人的な意見に基づくものであり、私が所属する組織には一切の関係はありません。

docker-toolboxからdocker Desktopに移行した ~ Migrate to docker Desktop from docker-toolbox ~

docker-toolboxからdockerに移行したのが簡単だったのでメモ書き。

なぜdocker-toolboxから移行するのか。

docs.docker.com

一番大きな理由としては、docker-toolboxが Legacy desktop solutionとして扱われていてdocker Desktopへの移行を勧められているからです。 もう1つ個人的な理由としては、dockerコンテナを使ったarmアーキテクチャ向けのバイナリのビルドができない。 最近、ARMアーキテクチャのものをビルドする機会があって会社PCではビルド出来ていたものが個人PCで出来なくて原因を探していたときにdocker Desktopとdocker-toolboxの違いに気づきました。

docker-toolboxだとARMアーキテクチャ向けのコンテナビルド時にエラーとなりビルドに必ず失敗していました。 もしかするとdocker-toolboxでもビルドする方法があるのかもしれませんがそこまで詳しく調べてません。

移行の手順

移行後は移行前のイメージにアクセス出来なくなるので後で再度 docker pullすることを考えてイメージの一覧を取得しておきます。

$ docker images

docker-toolboxのアンインストール

自分はbrew cask経由でインストールしていたのでbrew zapでアンインストールしていきます。

~ ❯❯❯ brew cask zap docker-toolbox
==> Implied "brew cask uninstall docker-toolbox"
==> Uninstalling packages:
io.boot2dockeriso.pkg.boot2dockeriso
io.docker.pkg.docker
io.docker.pkg.dockercompose
io.docker.pkg.dockermachine
io.docker.pkg.dockerquickstartterminalapp
io.docker.pkg.kitematicapp
==> Dispatching zap stanza
==> Trashing files:
~/.docker
==> Removing all staged versions of Cask 'docker-toolbox'

特にエラーや警告が出ることもなく完了します。

docker Desktopのインストール

こちらもbrew経由でインストールします。

~ ❯❯❯ brew cask install docker
Updating Homebrew...
==> Downloading https://desktop.docker.com/mac/stable/45519/Docker.dmg
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'docker'.
==> Installing Cask docker
==> Moving App 'Docker.app' to '/Applications/Docker.app'.
🍺  docker was successfully installed!

~ ❯❯❯ brew cask info docker
docker: 2.3.0.3,45519 (auto_updates)
https://www.docker.com/community-edition
/usr/local/Caskroom/docker/2.3.0.3,45519 (120B)
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/docker.rb
==> Names
Docker Desktop
Docker Community Edition
Docker CE
==> Artifacts
Docker.app (App)
==> Analytics
install: 15,516 (30 days), 50,104 (90 days), 231,551 (365 days)

以上で移行は終了です。あとはdocker-toolboxが依存していたvirtualboxが残りますが他のアプリケーションで使っていなければそちらも消してしまいましょう。

brew 経由でインストールしていれば1時間もあれば移行が完了出来ますのでまだdocker-toolboxを使っている人は早めに移行を済ませましょう。