原因:RUBY版本不满足要求
解决:编译安装指定版本的ruby
可用的Dockerfile,这里安装了ruby-2.4.0
FROM ubuntu:14.04
MAINTAINER Jamtur
ENV REFRESHED_AT 2017-05-09
RUN rm -rf /var/lib/apt/lists/*
RUN sudo apt-get -y update
RUN sudo apt-get install -y cmake build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server postfix checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev mysql-client libmysqlclient-dev libreadline6-dev redis-tools
RUN mkdir -p /tmp/ruby
WORKDIR /tmp/ruby
RUN curl --progress http://ftp.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.gz | tar xz
WORKDIR /tmp/ruby/ruby-2.4.0
RUN ./configure && make && sudo make install
RUN gem install --no-rdoc --no-ri sinatra json redis
RUN mkdir -p /opt/webapp
EXPOSE 4567
CMD ["/opt/webapp/bin/webapp"]
说明
本书之后的操作中,需要修改 webapp/bin/webapp 与 webapp_redis/bin/webapp 的首行,将其修改为#!/usr/local/bin/ruby