我在构建docker映像时试图克隆私人github存储库。我已经安装了Docker 18.09.2,根据Build secrets and SSH forwarding in Docker 18.09
和Using SSH to access private data in builds
,我应该能够通过这样的设置我的Dockerfile来使用转发的SSH键:
# syntax=docker/dockerfile:experimental
FROM node:10.15.3
# Update and install any dependencies.
RUN apt-get update
RUN apt-get -y install openssh-client git
# Clone the private repository
RUN --mount=type=ssh git clone git@github.com:<USER>/<PRIVATE_REPO>.git
我已经使用ssh-add
添加了我的SSH键,并且在运行ssh-add -L
时成功列出了它。
要构建容器,我然后使用以下命令:
docker build --ssh default .
尝试构建图像时仍会收到以下错误消息:
主机密钥验证失败。
我正在使用的Docker客户端正在运行Macos Mojave。
正如上述注释中指出的那样, host key
与 ssh key
不同,原因与我转发的ssh键无关,而是我需要添加主机进入~/.ssh/known_hosts
:
RUN mkdir -p -m 0600 /root/.ssh && ssh-keyscan github.com >> /root/.ssh/known_hosts