2017-06-05 46 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之前,請首先在容器中運行該命令。