2017-06-05 33 views
1

我在docker中使用干净的ubuntu14.04做了一些测试。 我用下面的代码在dockerfile安装ruby2.0:apt-get install在ubuntu14.04 docker上覆盖ruby

RUN apt-add-repository ppa:brightbox/ruby-ng 
RUN apt-get update && apt-get -y install \ 
    ruby2.0 \ 
    ruby2.0-dev 

然后我进入泊坞窗。 问题发生: 当我使用

apt-get install ruby2.0 

毫无疑问。 当我使用

apt-get install ruby 
apt-get的更新后

,易会发现ruby1.9安装和覆盖链接(在/ usr/bin中/红宝石),这意味着默认红宝石版本是1.9,现在。

为了进一步发展,我无法指定版本。而且,我需要让这个操作在ubuntu14.04上运行,即使我知道它可以通过ubuntu16。 我该如何解决这个问题?

并且是docker不同于ubuntu14.04的apt源码?

+1

为什么不使用'ruby'官方码头图片? –

回答

0

apt-add-repository不存在。而官方的ubuntu:14.04图片默认不包含add-apt-repository。你需要与

apt-get update && apt-get install software-properties-common 

在此之后安装它,您可以通过安装你的红宝石,

add-apt-repository -y ppa:brightbox/ruby-ng 
apt-get update && apt-get -y install ruby2.0 ruby2.0-dev 

我不知道你的Dockerfile如何运行没有错误。但是有一个技巧可以让你编写一个Dockerfile。在将其写入Dockerfile之前,请首先在容器中运行该命令。