【发布时间】:2017-10-12 13:15:47
【问题描述】:
我是 Docker 新手。我正在尝试在 ubuntu 映像上安装 bundle 作为父映像。
这是我的 Dockerfile 的样子 -
FROM ubuntu
RUN apt-get update
RUN apt-get update && apt-get install -y curl
RUN apt-get remove -y openssh-client
RUN apt-get autoclean && apt-get update && apt-get install -y openssh-
server
#INSTALL ESSESNTIAL PACKAGES
#RUN apt-get -y install zsh htop
RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server
#RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import -
RUN apt-get install -y software-properties-common
RUN apt-add-repository -y ppa:rael-gc/rvm
RUN apt-get update && apt-get install -y rvm
RUN /bin/bash -l -c "rvm install ruby-2.2.3"
ENV app /app
RUN mkdir $app
WORKDIR $app
ADD . $app
#RUN ssh-keygen -f id_rsa -t rsa -N ''
#RUN mkdir /root/.ssh
#RUN ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
RUN /bin/bash -l -c "gem install bundler"
RUN /bin/bash -l -c "bundle -v"
RUN apt-get update && apt-get install -y git
RUN /bin/bash -l -c "bundle install"
在运行此 Dockerfile 时,我在 bundle install 命令处收到错误,我收到错误 Host key verification failed. fatal: Could not read from remote repository.Please make sure you have the correct access rights and the repository exists.
我尝试使用交互模式运行bundle install 命令,但在那里我也遇到了类似的错误。请帮我解决这个问题,我已经被阻止了一段时间了。
此外,当我在进行一些更改后构建映像时,docker 映像上不再存在 ssh 密钥。当我退出交互模式并再次登录时,有时也会发生同样的情况,当我再次登录时,我新添加的包不会出现。我尝试提交更改,但问题仍然存在。我无法弄清楚为什么会这样。
【问题讨论】:
-
我假设您在 github 访问中使用
ssh-keys。但是我没有看到您将 SSH 密钥添加到 Dockerfile 中? -
我创建了一次
ssh-keys,它被存储在app目录中。我将公钥添加到 Github,完成后,我注释掉了ssh-keygen行。我不确定将ssh-keys添加到我的Dockerfile 是什么意思,但这是我添加ssh-keys所遵循的一系列步骤。如果我在这里遗漏了什么,请告诉我。
标签: git docker ssh bundler git-clone