我正在尝试在构建 docker 镜像时克隆一个私有(private) github 存储库。我安装了 docker 18.09.2 并根据 Build secrets and SSH forwarding in Docker 18.09
和 Using SSH to access private data in builds
,我应该能够通过像这样设置我的 Dockerfile 来使用转发的 ssh key :
# 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 key 并在运行ssh-add -L
时成功列出.要构建容器,我然后使用以下命令:
docker build --ssh default .
尝试构建镜像时,我仍然收到以下错误消息:
Host key verification failed.
我正在使用的 docker 客户端正在运行 macOS Mojave。
最佳答案
正如上述评论中指出的 host key
与 ssh key
不一样这不起作用的原因与我转发的 ssh key 无关,而是我需要将主机添加到 ~/.ssh/known_hosts
:
RUN mkdir -p -m 0600 /root/.ssh && ssh-keyscan github.com >> /root/.ssh/known_hosts
关于macos - SSH key 转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56274259/