はじめに
ローカル開発環境の構築や各種ミドルウェアの実行に Docker を利用することが多いと思います。例えば Mac で Docker を利用する場合、多くの場合 Docker Desktop を利用することが多いかと思います。公式サイトの Get Docker ページを見ても最初に Docker Desktop が案内されています。
そのまま Docker Desktop を利用できるとよいのですが、いろいろな事情があって Docker Desktop を利用できない場合は、Docker Engine のバイナリを手動でセットアップする必要が出てきます。今回はそのセットアップについて実際にやってみました。
構築する環境
% sysctl -n machdep.cpu.brand_string
Apple M3
% sw_vers
ProductName: macOS
ProductVersion: 14.5
BuildVersion: 23F79
Docker Engine をインストール
Docker Engine のバイナリはこちらのページに binaries
というリンクがあり、binaries ページに遷移すると、環境毎にバイナリからインストールする方法が記載されています。
今回は、MacOS にインストールするので、Install client binaries on macOS を見ながら進めていきます。
バイナリをダウンロード
インストールページのリンクからバイナリがおいてあるページに遷移します。遷移すると aarch64
と x86_64
へのリンクがあるので、今回は Apple silicon
の環境ですので、aarch64
からダウンロードします。
バージョンが複数ありますので、利用したいバージョンのバイナリをダウンロードします。
アーカイブを展開する
% tar xzvf docker-27.0.3.tgz
x docker/
x docker/docker
拡張属性を削除して実行可能にする
% sudo xattr -rc docker
上記、コマンド実行後に docker CLI コマンドが実行できるか確認してみます。
CLI コマンドのヘルプが表示されているようなので、うまく実行できているようでした。
% docker/docker
Usage: docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Common Commands:
run Create and run a new container from an image
exec Execute a command in a running container
ps List containers
...
パスが通っているディレクトリに移動する
docker/docker
をパスが通ったパスに移動します。このままでは使いにくいので、適当なパスに移動またはコピーします。
例えば、/usr/local/bin/
にコピーする際は、以下のように実行します。
sudo cp docker/docker /usr/local/bin/
パスを通してからは、以下のように docker
コマンドで CLI コマンドを実行することができます。
% docker version
Client:
Version: 27.0.3
API version: 1.46
...
Docker Compose をインストール
続いて Docker Compose をセットアップします。インストール方法のページを確認すると Compose plugin をマニュアルでインストールすることができるので、セットアップしていきます。
Compose CLI plugin をダウンロード
インストールする環境に応じてバイナリがあるようなので、今回の場合は docker-compose-darwin-aarch64
をダウンロードします。
% curl -SL https://github.com/docker/compose/releases/download/v2.28.1/docker-compose-darwin-aarch64 -o ./cli-plugins/docker-compose
ダウンロード先のディレクトリは、ログイン中のユーザーのみ利用する想定ですので、~/.docker/cli-plugins
に配置しました。もしすべてのユーザーを実行対象にしたい場合は /usr/local/lib/docker/cli-plugins
に配置する必要があるようです。
また、ディレクトリが作成されていない場合は事前に作成しておく必要があります。(必要に応じて)
% mkdir -p ~/.docker/cli-plugins
バイナリに実行権限を設定する
% chmod +x ~/.docker/cli-plugins/docker-compose
動作確認
問題なく設定できていると、以下のように docker compose
が実行できるようになります。
% docker compose version
Docker Compose version v2.28.1
さいごに
たまたまバイナリからインストールする機会があり、忘れっぽい自分のための備忘録となるように書きました。実際に Docker を利用する際は Docker の daemon など管理するツールが必要になるかと思います。
過去に Colima をセットアップした際の記事も書いたので、よかったら一緒に見ていただけると嬉しいです。