Joe*_*ito 6 ssh-agent docker docker-compose
我在 Windows 机器上复制 dockerfile 中的 ssh 密钥用于开发目的,但无法获取 SSH_AUTH_SOCK 变量集,
这是我的 Dockerfile
FROM node:alpine
WORKDIR /usr/src/app
COPY package.json .
ADD id_rsa /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa \
&& touch /root/.ssh/known_hosts \
&& ssh-keyscan -H github.com >> /root/.ssh/known_hosts \
&& eval `ssh-agent -s` && ssh-add /root/.ssh/id_rsa
RUN yarn
CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud)
我尝试在我的撰写文件中评估 ssh-agent 的结果
command: >
sh -c 'eval `ssh-agent -s`
&& ssh-add /root/.ssh/id_rsa
&& echo $SSH_AUTH_SOCK'
Run Code Online (Sandbox Code Playgroud)
当我执行简单的 nodejs 文件时,SSH_AUTH_SOCK未设置。
printenv也没有显示出来,有没有办法做到这一点。
我可以看到有很多适用于 linux 和 osx 的 ssh-agent 转发器解决方案,但它不适用于 Windows。
小智 1
请注意,它在将完整路径传递到实际 ssh 密钥时起作用,例如:
$ docker build --ssh default=c:/users/MY_WINDOWS_USER_NAME/.ssh/id_ed25519 .
Run Code Online (Sandbox Code Playgroud)
或者
$ docker build --ssh default=c:/users/MY_WINDOWS_USER_NAME/.ssh/id_rsa .
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6725 次 |
| 最近记录: |