ndr*_*dr4 10 ssh-keys docker dockerfile
我正在尝试在 MacOS 上构建 docker 映像,--ssh default
但它不起作用。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
Run Code Online (Sandbox Code Playgroud)
当我跑步时
docker build --ssh default -t my_image .
Run Code Online (Sandbox Code Playgroud)
我收到错误:
git@github.com: Permission denied (publickey)
fatal: Could not read from remote repository
Run Code Online (Sandbox Code Playgroud)
我的 ssh 密钥位于~/.ssh/id_rsa
本地计算机上,并且它在 docker 之外工作。
如果我尝试在 Dockerfile 中运行:
RUN --mount=type=ssh cat ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
我收到错误:
cat: /root/.ssh/id_rsa No such file or directory
Run Code Online (Sandbox Code Playgroud)
nbl*_*bl7 13
Docker 不会从~/.ssh/
.
使用默认配置时,--ssh default
您需要将密钥添加到本地 SSH 代理。
您可以ssh-add -L
在本地检查以查看公钥是否对代理可见。
如果不是,请尝试运行ssh-add -K
。
参考:
https://medium.com/@tonistiigi/build-secrets-and-ssh-forwarding-in-docker-18-09-ae8161d066
归档时间: |
|
查看次数: |
8987 次 |
最近记录: |