在Docker容器中使用SSH密钥

我有一个应用程序可以使用Git执行各种有趣的操作(例如运行git clone和git push),而我正在尝试对其进行docker-ize。

我遇到了一个问题,尽管我需要能够向容器中添加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

回答:

原来使用Ubuntu时,ssh_config不正确。您需要添加

RUN  echo "    IdentityFile ~/.ssh/id_rsa" >> /etc/ssh/ssh_config

到您的Dockerfile,以使其能够识别您的ssh密钥。

以上是 在Docker容器中使用SSH密钥 的全部内容, 来源链接: utcz.com/qa/423647.html

回到顶部