在DOCKER中构建使用RUBY2.1及以上版本的镜像

这几天刚开始学习DOCKER,但是在构建第一个web镜像的时候,提示ruby版本必须大于2.0.0。但是Ubuntu默认安装的ruby版本是1.9的,在网上搜索了好久都没有相关的解答。然后就只能自己动手尝试了。
目前解决方法如下,在Dockerfile中安装JSON的代码

RUN gem install --no-rdoc --no-ri sinatra json redis
    之前添加如下代码:
RUN sudo apt-get -y update
RUN sudo apt-get install -y cmake
RUN sudo apt-get install -y 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

RUN cd /tmp && mkdir ruby && cd ruby && curl --progress http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz | tar xz && cd ruby-2.1.2 && ./configure && make && sudo make install

这里我使用的是2.1.2的版本,大家也可以去官网找其他版本的。不过要注意在最后一条语句中,&&连接的几条命令不要分开写,因为我发现如果写成:

RUN cd /tmp
RUN mkdir ruby

这个样子的话,镜像中并不是在/tmp目录下新建的ruby目录,而是在根目录下创建了ruby目录,这就会导致之后的./configure过程出现无此命令错误。
对于这个问题,如果大家有更好的解决方式,欢迎交流学习。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值