docker compose buildの --ssh option(w/ BuildKit)を試す

24114 ワード

docker compose v2.4.0 から対応している --ssh option について、Python パッケージの install を例にまとめています。

環境

  • Mac OS Monterey version 12.0.1
  • Docker for Mac 4.7.1 (Engine: 20.10.14)
❯ docker version
Client:
 Cloud integration: v1.0.23
 Version:           20.10.14
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        a224086
 Built:             Thu Mar 24 01:49:20 2022
 OS/Arch:           darwin/arm64
 Context:           default
 Experimental:      true

Server: Docker Desktop 4.7.1 (77678)
 Engine:
  Version:          20.10.14
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       87a90dc
  Built:            Thu Mar 24 01:45:44 2022
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.5.11
  GitCommit:        3df54a852345ae127d1fa3092b95168e4a88e2f8
 runc:
  Version:          1.0.3
  GitCommit:        v1.0.3-0-gf46b6ba
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

やりたいこと

GitHub の private repository から独自パッケージを pip install して、docker image の build を行うようなケースを想定しています。

単純な docker build であれば、--ssh option は対応している一方で、ローカル開発環境では docker-compose (docker compose) を頻繁に利用します。
v2.4.0 以前の docker compose build コマンドは --ssh option は対応していない状況でした。