使用Dockerfile构建docker镜像时出错

时间:2017-11-10 15:38:52

标签: ruby-on-rails docker github dockerfile ubuntu-16.04

我正在尝试使用Dockerfile中的配置构建docker镜像:

FROM ubuntu
MAINTAINER axiom88guru(axiom88guru@gmail.com)
Configuration for app below.
Run upgrades

RUN apt-get update
Install basic packages

RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
Install Ruby

RUN apt-get -qq -y install ruby-full
RUN gem install bundler --no-ri --no-rdoc
RUN gem install foreman
Install rails-new-docker

WORKDIR /app
RUN git clone https://github.com/axiom88-guru/rails-docker.git /app
RUN bundle install --without development test
Run rails-new-docker

ENV SECRET_KEY_BASE dockerkeybase
ENV RAILS_ENV production
EXPOSE 5959
CMD foreman start -f Procfile

当我在bash中运行这些命令时,它们按预期工作,但在docker build期间不能工作:

Removing intermediate container 344e99851852
Step 8/14 : WORKDIR /app
—> 3c204a395f23
Removing intermediate container 680b1841a3fc
Step 9/14 : RUN git clone https://github.com/axiom88-guru/rails-docker.git /app
—> Running in d7a9de9f6ab5
/bin/sh: 1: git: not found
The command ‘/bin/sh -c git clone https://github.com/axiom88-guru/rails-docker.git /app’ returned a non-zero code: 127

有人可以帮我找出解决方案吗?

1 个答案:

答案 0 :(得分:1)

需要安装git,因为基础ubuntu映像只提供了一组最小的已安装软件包(这样做是为了保持图像大小不变)。

FROM ubuntu
MAINTAINER axiom88guru(axiom88guru@gmail.com)
# Configuration for app below.
# Run upgrades

RUN apt-get update
# Install basic packages

RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs git
# Install Ruby

RUN apt-get -qq -y install ruby-full
RUN gem install bundler --no-ri --no-rdoc
RUN gem install foreman
# Install rails-new-docker

WORKDIR /app
RUN git clone https://github.com/axiom88-guru/rails-docker.git /app
RUN bundle install --without development test
# Run rails-new-docker

ENV SECRET_KEY_BASE dockerkeybase
ENV RAILS_ENV production
EXPOSE 5959
CMD foreman start -f Procfile

此版本应该有效。我刚刚将git添加到第一个apt-get install步骤。