5.2.1 P106 安装 redis 报错
xoyabc (也曾鲜衣怒马年少时)
报错信息:
Building native extensions. This could take a while...
ERROR: Error installing redis:
redis requires Ruby version >= 2.3.0.
原文中 Dokcerfile 内容:
FROM ubuntu:14.04 MAINTAINER James Turnbull "james@example.com" ENV REFRESHED_AT 2014-06-01 RUN apt-get -yqq update && apt-get -yqq install ruby ruby-dev build-essential redis-tools RUN gem install --no-rdoc --no-ri sinatra json redis RUN mkdir -p /opt/webapp EXPOSE 4567 CMD ["/opt/webapp/bin/webapp"] 引自 5.2.1 构建Sinatra应用程序 105 该报错为 ruby 版本太低,需要安装高版本 ruby
解决方法:
方式一:
修改 Dockerfile,先安装高版本 ruby,之后执行 gem install redis
FROM ubuntu:14.04
MAINTAINER James Turnbull "james@example.com"
ENV REFRESHED_AT 2014-06-01
RUN apt-get -yqq update && apt-get -yqq install wget curl gnupg2 libcurl3 build-essential redis-tools
RUN apt-get install -y --force-yes zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev
RUN wget -SO /tmp/ruby-2.5.0.tar.gz -C /tmp/ http://mirrors.nju.edu.cn/ruby/2.5/ruby-2.5.0.tar.gz
RUN tar -xvzf /tmp/ruby-2.5.0.tar.gz -C /tmp/
RUN cd /tmp/ruby-2.5.0/ && ./configure --prefix=/usr/local; make; make install
RUN ruby -v
RUN ln -sf /usr/local/bin/ruby /usr/bin/ruby
RUN gem install --no-rdoc --no-ri sinatra json redis
RUN mkdir -p /opt/webapp
EXPOSE 4567
CMD [ "/opt/webapp/bin/webapp" ]
方式二:
使用 ubuntu 16.04 基础镜像,ruby 默认版本即满足
FROM ubuntu:14.04 改为 FROM ubuntu:16.04
REF:
https://blog.csdn.net/Aemonair/article/details/82899781
https://github.com/guanwei/dockerbook-code/tree/master/5/sinatra
xoyabc对本书的所有笔记 · · · · · ·
-
4.5.10 P82 翻译错误
82 页上方关于 ADD 指令判断文件源是文件还是目录,有一句翻了两遍。 应将“如果目标地址以/...
-
5.2.1 P106 安装 redis 报错
-
6.1.1 P152 安装 jekyll 报错
报错信息: Step 6/9 : RUN gem install --no-rdoc --no-ri jekyll -v 2.5.3 ---> Running...
-
6.3.1 P170 使用 npm 安装 express 报错
报错信息: npm ERR! Error: CERT_UNTRUSTED npm ERR! at SecurePair.<anonymous> ...
说明 · · · · · ·
表示其中内容是对原文的摘抄