Dockergit 参考 BuildKit でイメージ構築 — Docker-docs-ja 20.10 ドキュメント docker buildする際にhost側のssh keyを使ってbuildする - Qiita Docker の BuildKit を使ってセキュアなビルドを試す - Qiita デフォルトのssh keyを使う場合 # syntax=docker/dockerfile:1 FROM alpine # ssh クライアントと git をインストール RUN apk add --no-cache openssh-client git # github.com のための公開鍵をダウンロード RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts # プライベート・リポジトリのクローン RUN --mount=type=ssh git clone git@github.com:myorg/myproject.git myproject $ export DOCKER_BUILDKIT=1 $ docker build --ssh default . ファイルを指定する場合 type=secret を使うと以下のようにできる # syntax = docker/dockerfile:1 FROM alpine # デフォルトのシークレットの場所から、シークレットを表示 RUN --mount=type=secret,id=mysecret cat /run/secrets/mysecret # 任意のシークレットの場所から、シークレットを表示 RUN --mount=type=secret,id=mysecret,dst=/foobar cat /foobar $ docker build --secret id=mysecret,src=mysecret.txt . これを使ってssh keyを渡す # syntax=docker/dockerfile:1 FROM alpine # ssh クライアントと git をインストール RUN apk add --no-cache openssh-client git # github.com のための公開鍵をダウンロード RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts # プライベート・リポジトリのクローン RUN --mount=type=secret,id=ssh,dst=/root/.ssh/id_rsa git clone git@github.com:myorg/myproject.git myproject $ docker build --secret id=ssh,src=~/.ssh/id_rsa_github .