我有一个应用程序可以用 Git 执行各种有趣的东西(比如运行 git clone 和 git push),我正在尝试对它进行 docker 化。
我遇到了一个问题,尽管我需要能够将 SSH 密钥添加到容器以供容器“用户”使用。
我尝试将其复制到 /root/.ssh/
,更改 $HOME
,创建一个 git ssh 包装器,但仍然没有运气。
以下是 Dockerfile 供参考:
#DOCKER-VERSION 0.3.4
from ubuntu:12.04
RUN apt-get update
RUN apt-get install python-software-properties python g++ make git-core openssh-server -y
RUN add-apt-repository ppa:chris-lea/node.js
RUN echo "deb http://archive.ubuntu.com/ubuntu precise universe" >> /etc/apt/sources.list
RUN apt-get update
RUN apt-get install nodejs -y
ADD . /src
ADD ../../home/ubuntu/.ssh/id_rsa /root/.ssh/id_rsa
RUN cd /src; npm install
EXPOSE 808:808
CMD [ "node", "/src/app.js"]
app.js
运行 git 命令,如 git pull
原文由 ebensing 发布,翻译遵循 CC BY-SA 4.0 许可协议
结果在使用 Ubuntu 时,ssh_config 不正确。您需要添加
到您的 Dockerfile 以使其识别您的 ssh 密钥。