首页 > 解决方案 > 如何在 docker 容器窗口中设置 SSH_AUTH_SOCK 环境变量

问题描述

我在 dockerfile 中复制了我的 ssh 密钥以在 Windows 机器上进行开发,但我无法设置 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" ]

我试图在我的撰写文件中评估 ssh-agent 的结果

command: >
  sh -c 'eval `ssh-agent -s`
  && ssh-add /root/.ssh/id_rsa
  && echo $SSH_AUTH_SOCK'

当我执行我的简单 nodejs 文件时,SSH_AUTH_SOCK没有设置。

printenv也没有显示出来,有没有办法做到这一点。

我可以看到有很多适用于 linux 和 osx 的 ssh-agent 转发器解决方案,但它不适用于 Windows。

标签: dockerdocker-composessh-agent

解决方案


推荐阅读