在构建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密钥:
<MenuItem Header="GoToElement"
Click="Click_GoToElement"
Tag="{Binding RelativeSource={RelativeSource AncestorType=ContextMenu}, Path=PlacementTarget.Header}"/>
我已经使用 # 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密钥,并且在运行ssh-add
时成功列出了它。
要构建容器,然后使用以下命令:
ssh-add -L
尝试构建图像时,我仍然收到以下错误消息:
主机密钥验证失败。
我正在使用的Docker客户端正在运行macOS Mojave。
答案 0 :(得分:0)
如以上注释中所指出的,host key
与ssh key
是不同的东西,并且它不起作用的原因与我转发的ssh密钥无关,相反,我需要添加主机进入~/.ssh/known_hosts
:
RUN mkdir -p -m 0600 /root/.ssh && ssh-keyscan github.com >> /root/.ssh/known_hosts