我正在尝试使用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
有人可以帮我找出解决方案吗?
答案 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
步骤。