7

ソースイメージ (OS) なしで docker ファイルを使用して docker イメージを作成できますか?

FROM rhel

すべてのアプリケーション Docker イメージにベース イメージ (centos または rhel) は必要ありません。基本イメージ (centos または rhel) とアプリケーション イメージを分離し、実行時にそれらをリンクしたいと考えています。出来ますか?

またはなし でドッカー イメージをビルドすると、ドッカーは「コミットする前にソース イメージを提供してください」と文句を言います。FROM centosrhel

私のドッカーファイルは次のようになります。

MAINTAINER abc

RUN mkdir /opt/cassandra

RUN cd /opt/cassandra

RUN wget http://www.interior-dsgn.com/apache/cassandra/2.1.2/apache-cassandra-2.1.2-bin.tar.gz

RUN tar xvzf apache-cassandra-2.1.2-bin.tar.gz

RUN cd apache-cassandra-2.1.2-bin
4

1 に答える 1

17

「ベース イメージ (centos または rhel) とアプリケーション イメージを分離し、実行時にそれらをリンクしたい」とおっしゃってFROM rhelいましたが、Docker が使用する階層化されたファイル システムのおかげで、基本的にはそれが実現します。

つまり、FROM画像は画像の一部にはならず、別のレイヤーに残ります。新しいイメージはそのrhel(または他FROMの 'd ベース レイヤー) を指し、実行時にその上に追加されます。

さあ、使っFROMてみてください - あなたが望んでいた動作が得られます。

独自の基本イメージを構築する方法を探しているこの質問を見つけた場合 (したがって、基本として何も使用する必要はありません)、使用でき、基本イメージの作成FROM scratchについて読む必要があります。

そして、完全に衒学的に言うと、Docker が Linux ディストリビューションのルート ファイル システムを含むベースを必要とする理由は、FROMルート ファイル システムがなければ何も存在しないからです。ルートファイルシステムによって提供されるプログラムでRUN mkdir /opt/cassandraあるため、できません。mkdir

于 2015-01-23T01:59:11.167 に答える