【发布时间】:2020-05-07 08:22:18
【问题描述】:
我使用--ssh docker buildkit 功能,它在本地运行良好。
我想在远程服务器上构建 Docker,为此我使用 -A 标志来转发我的本地 github 密钥,例如:
ssh -i "server.pem" -A <user>@<server-ip>
然后在服务器终端我运行:
ssh -T git@github.com
我收到“Hello user”消息,这意味着密钥转发工作正常。
(在服务器里确实设置了$SSH_AUTH_SOCK,我可以git clone)
现在,在本地构建时,我使用:
DOCKER_BUILDKIT=1 docker build --ssh default=~/.ssh/id_rsa -t myimage:latest .
效果很好。
但是在服务器中,私钥在 ~/.ssh/id_rsa 中不存在。那么我怎样才能将它转发到 docker build 呢?
在服务器上试过这个:
DOCKER_BUILDKIT=1 docker build --ssh default=$SSH_AUTH_SOCK -t myimage:latest .
但它不起作用。错误是:
could not parse ssh: [default]: invalid empty ssh agent socket, make sure SSH_AUTH_SOCK is set
即使设置了SSH_AUTH_SOCK
Docker 版本:19.03
【问题讨论】:
标签: docker ssh ssh-keys docker-build docker-buildkit