mirror of https://github.com/docker/cli.git
e942084530
Unlike `docker build --secret`, `docker build --ssh` allows the build container to
use SSH keys with passphrases.
$ eval $(ssh-agent)
$ ssh-add ~/.ssh/id_rsa
(Input your passphrase here)
$ docker build --ssh default=$SSH_AUTH_SOCK ...
This feature requires the daemon with `CapExecMountSSH` build capability (moby/moby#37973) .
Currently, the official Dockerfile frontend does not provide the syntax for using the SSH forwarder.
However, the experimental `RUN --mount=type=ssh` syntax can be enabled by using
the Dockerfile frontend image built with the `BUILDTAGS="dfrunmount dfssh"`, via the `# syntax =` "shebang".
The Dockerfile for the Dockerfile frontend is available at github.com/moby/buildkit/frontend/dockerfile/cmd/dockerfile-frontend)
The pre-built image is also available as `tonistiigi/dockerfile:ssh20181002` .
An example Dockerfile with `RUN --mount=type=ssh`:
# syntax = tonistiigi/dockerfile:ssh20181002
FROM alpine
RUN apk add --no-cache openssh-client
RUN mkdir -p -m 0700 ~/.ssh && ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
RUN --mount=type=ssh ssh git@gitlab.com | tee /hello
# "Welcome to GitLab, @GITLAB_USERNAME_ASSOCIATED_WITH_SSHKEY" should be printed here
More info available at moby/buildkit#608, moby/buildkit#655
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit
|
||
---|---|---|
.. | ||
Azure/go-ansiterm | ||
Microsoft | ||
Nvveen/Gotty | ||
agl/ed25519 | ||
asaskevich/govalidator | ||
beorn7/perks | ||
containerd | ||
coreos/etcd | ||
cpuguy83/go-md2man | ||
davecgh/go-spew | ||
dgrijalva/jwt-go | ||
docker | ||
flynn-archive/go-shlex | ||
ghodss/yaml | ||
gogo | ||
golang | ||
googleapis/gnostic | ||
gorilla | ||
gregjones/httpcache | ||
grpc-ecosystem | ||
hashicorp | ||
imdario/mergo | ||
inconshreveable/mousetrap | ||
json-iterator/go | ||
mattn/go-shellwords | ||
matttproud/golang_protobuf_extensions | ||
miekg/pkcs11 | ||
mitchellh/mapstructure | ||
moby/buildkit | ||
modern-go | ||
morikuni/aec | ||
opencontainers | ||
opentracing/opentracing-go | ||
peterbourgon/diskv | ||
pkg/errors | ||
prometheus | ||
russross/blackfriday | ||
satori/go.uuid | ||
shurcooL/sanitized_anchor_name | ||
sirupsen/logrus | ||
spf13 | ||
syndtr/gocapability | ||
theupdateframework/notary | ||
tonistiigi | ||
xeipuuv |