Colima + Docker にDocker ComposeとBuildxをプラグインとして導入する
はじめに
Colima + Dockerは導入が簡単で便利ですが、Docker Composeを使うためには
- スタンドアローン版のDocker Composeをインストールする
- Docker Composeをプラグインとして導入する
の2つの方法があります。
スタンドアローン版をインストールするには、brew install docker-composeを実行しますが、deprecatedになったV1系のコマンドと同じdocker-composeコマンドを使うことになり(中身はV2系ではあるものの)、docker composeコマンドを使うことができません。
そのため今回は、プラグインとして導入する方法を紹介します。
また、docker build時にもbuildxを使うようにするため、Buildxプラグインも導入します。
環境
- M2 Chip
-
brew install colima dockerでインストールしたcolima + Docker
Docker Composeプラグインの導入
に従い、Docker Composeプラグインを導入します。
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.29.2/docker-compose-darwin-aarch64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
今回はM2 Chipを使っているので、アーキテクチャにdarwin-aarch64を指定しています。また、最新バージョンはReleasesから確認してください。
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
docker compose version
バージョンが表示されれば導入完了です!🎉
Buildxプラグインの導入
Colima + Dockerだけの状態で適当なDockerfileをBuildしようとすると以下のようなWARNINGが出ると思います。
$ docker build -f Dockerfile -t test .
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
Install the buildx component to build images with BuildKit:
https://docs.docker.com/go/buildx/
brew install dockerでインストールしたDockerではbuildxが使われないため、プラグインとして導入する必要があります。
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
curl -SL https://github.com/docker/buildx/releases/download/v0.16.2/buildx-v0.16.2.darwin-arm64 -o $DOCKER_CONFIG/cli-plugins/docker-buildx
アーキテクチャにdarwin-arm64を指定しています。また、最新バージョンはReleasesから確認してください。
chmod +x $DOCKER_CONFIG/cli-plugins/docker-buildx
docker buildx version
バージョンが表示されればbuildxの導入は完了です。
buildxをデフォルトとして設定
このままだと、docker buildコマンドを実行するときに、毎回buildxを指定する必要があります。
docker buildコマンドを実行するときに、デフォルトでdocker buildx buildコマンドを使うように設定します。
docker buildx install
これで、docker buildコマンドを実行すると、buildxが使われるようになります!🎉
$ docker build
ERROR: "docker buildx build" requires exactly 1 argument.
See 'docker buildx build --help'.
Usage: docker buildx build [OPTIONS] PATH | URL | -
Start a build
$ docker build -f Dockerfile -t test .
# WARNINGが表示されなければOK
おわりに
Docker ComposeとBuildxをプラグインとして導入する方法を紹介しました。
docker-composeじゃなくてdocker composeを使いたいんだ!!という方(主に自分)は参考にしてみてください🐣
Discussion