2016-07-01 4 views
0

私は約2ヶ月前にDockerを使い始めました。そして、いくつかの助けを借りて、Ruby 1.9.1でubuntuを動かすコンテナを手に入れました。これは私のDockerfileの最初の部分である:ドッカーコンテナ内の特定のubuntuバージョンをリクエストする

FROM ubuntu 

# Add and update apt sources 
RUN apt-get update; apt-get -y upgrade 

# Add compiler package and ruby1.9.1 
RUN apt-get install -y build-essential ruby1.9.1-dev 
RUN apt-get install -y nodejs 
RUN apt-get install -y npm 

は最近、私の友人は、同じコンテナを使用していたが、彼はそのdockerfileを使用してイメージを構築しようとしたとき、彼は私がいることを意味だと思う'Package 'ruby1.9.1-dev' has no installation candidate'を示すメッセージを、取得します彼は実際に私から別のubuntuインスタンスを引っ張っています(14.04 vs 12、これらの行に沿ったもの)

私はドッカーのハブでubuntuイメージを検索してみました。その上にルビ1.9があり、彼らが働くかどうか私には明らかではない - おそらく自分の理解の欠如、そこに。

私は使用したいubuntuのバージョンをdockerに伝えることができますか、あるいは私たちが行っていることを達成する良い方法がありますか?残念ながら、Ruby 2.3を使用することはできません。なぜなら、使用している宝石と互換性がないからです。

答えて

4

あなたはほどFROM命令にタグとしてバージョンを指定することができます。詳細については、

FROM ubuntu:12.04 

the FROM documentationthe ubuntu docker pageを見て。

ので、彼らは、同じに関するレポ振る舞うべきで、ベースイメージが同じであるために発生する可能性はありません
RUN apt-get -y install ruby <version-number> 
0

また、あなたのDockerfileでUbuntuでルビーの特定のバージョンをインストールすることができますあなたまたはあなたの友人が、ubuntuとは異なる名前のubuntuイメージをキャッシュすることができます。

は、このような画像を削除し、ドッキングウィンドウハブから再びそれらを引っ張ってみてください。

docker rmi ubuntu 
docker rmi ubuntu:latest 
docker pull ubuntu 

し、その後、再構築してみてください。

0

など:

関連する問題