Docker --ssh默认权限被拒绝(公钥)

10

我正在尝试在MacOS上使用--ssh default构建Docker镜像,但无法正常工作。相同的构建在Linux上可以。

//Dockerfile

#syntax=docker/dockerfile:experimental
FROM node:16

WORKDIR /app

RUN chown -R node.node /app

RUN mkdir ~/.ssh/ && ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts

RUN --mount=type=ssh git clone git+ssh://git@github.com/account_name/repo.git

CMD tail -f /dev/null

当我运行时

docker build --ssh default -t my_image .

我收到了错误信息:

git@github.com: Permission denied (publickey)
fatal: Could not read from remote repository

我在本地机器上的 ~/.ssh/id_rsa 中有我的 ssh 密钥,并且它在 Docker 之外可以使用。

如果我在 Dockerfile 中尝试运行:

RUN --mount=type=ssh cat ~/.ssh/id_rsa

我遇到了错误:

cat: /root/.ssh/id_rsa No such file or directory
2个回答

12

1
只是对之前答案的一个小更新。
在Mac上,ssh-add -K已经不推荐使用,所以请改用ssh-add --apple-use-keychain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接