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