我有一个定义了 Ruby on Rails 栈的 Dockerfile。
以下是 Dockerfile 的内容:
当我执行命令
我不确定为什么会出现这种情况。
以下是 Dockerfile 的内容:
FROM ubuntu:14.04
MAINTAINER example <examplen@example.com>
# Update
RUN apt-get update
# Install Ruby and Rails dependencies
RUN apt-get install -y \
ruby \
ruby-dev \
build-essential \
libxml2-dev \
libxslt1-dev \
zlib1g-dev \
libsqlite3-dev \
nodejs \
curl
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
RUN curl -sSL https://get.rvm.io | bash -s stable --rails
RUN /bin/bash -c "source /usr/local/rvm/scripts/rvm"
# Install Rails
RUN gem install rails
# Create a new Rails app under /src/my-app
RUN mkdir -p /src/new-app
RUN rails new /src/new-app
WORKDIR /src/my-app
# Default command is to run a rails server on port 3000
CMD ["rails", "server", "--binding", "0.0.0.0", "--port" ,"3000"]
EXPOSE 3000
当我执行命令
docker build -t anotherapp/my-rails-app .
时,我遇到了以下错误:
看起来在构建期间命令删除中间容器3f8060cdc6f5
步骤8:运行gem install rails
---> 运行中的8c1793414e63
错误:安装rails时出现错误:
activesupport需要Ruby版本>= 2.2.2。
命令'/bin/sh -c gem install rails'返回非零代码:1
source /usr/local/rvm/scripts/rvm
无法正常工作。我不确定为什么会出现这种情况。
RUN
,因为每个RUN
都会创建一个新的层,并且可能不知道你的bash源。 - bjhaid