我使用--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
已设置
码头工人版本:19.03