Docker build 不留下 SSH private key


我以前是用 dockito/vault、Docker 17.05 後可以使用 multi-stage。
Docker 18.09 後則可以使用 BuildKit 的 SSH mount type:

Dockerfile

這行加在 Dockerfile 最前面:

# syntax=docker/dockerfile:1.0.0-experimental

在需要用到 SSH private key 的地方加上 --mount=type=ssh

# 使用預設的 id 為 "default"  
RUN --mount=type=ssh do_something

執行 docker build

export DOCKER\_BUILDKIT=1  
docker build --ssh default=/path/to/ssh/private/key

其他相關